{
    "info": {
        "_postman_id": "a91dd6e5-b9b7-4459-bab3-13b2135377c7",
        "name": "ReValue API",
        "description": "# ReValue API — full journey collection\r\n\r\nReValue is a Saudi scrap-material marketplace. Sellers (providers) publish auctions and\r\ndirect offers, buyers (clients) bid or negotiate in chat, and the winning side pays through\r\nan escrow wallet until the material changes hands.\r\n\r\n## How the folders are organised\r\n\r\n1. **Top level = who is calling.** Guest, Buyer, Seller.\r\n2. **Second level = the journey that person is living**, numbered in the order a real user\r\n   walks through it. Run a folder top to bottom in the Collection Runner and it behaves like\r\n   one continuous session.\r\n\r\n## Before you run anything\r\n\r\n1. Import `ReValue.postman_environment.json` and select it.\r\n2. Set `base_url` to your server (default `http://127.0.0.1:8000`).\r\n3. Open **Buyer → 01 - Authentication** and run it in order. The OTP on a local/staging build\r\n   is `1234`, and the verify step stores `{{client_token}}` for you.\r\n4. Do the same in **Seller → 01 - Authentication** for `{{provider_token}}`.\r\n\r\nEverything after that reuses variables the earlier requests saved — no copy/paste of IDs.\r\n\r\n## Conventions used everywhere\r\n\r\n- **Auth**: the collection defaults to `Bearer {{access_token}}`; each role folder overrides it\r\n  with that role's own token.\r\n- **Bodies**: every POST/PUT/PATCH is `multipart/form-data`. PUT and PATCH are sent as `POST`\r\n  plus a `_method` field, which is how Laravel accepts multipart updates.\r\n- **Pauses**: each request waits 300-1200 ms first, so a Runner pass looks like a human session\r\n  instead of a flood.\r\n- **Tests**: status code, response time, JSON content type, envelope shape, plus the variable\r\n  hand-off to the next request.\r\n\r\n## Reading responses\r\n\r\nReValue always answers with `{ key, msg, data }`. Validation errors, missing records and expired\r\nsessions come back as **HTTP 200** with `key` set to `fail` or `unauthenticated`; only a wrong\r\naccount type produces a real **HTTP 403**. The saved examples spell this out per endpoint.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{access_token}}",
                "type": "string"
            }
        ]
    },
    "event": [
        {
            "listen": "prerequest",
            "script": {
                "type": "text/javascript",
                "exec": [
                    "// Keep date fields in the future so \"after:now\" validation always passes.",
                    "const inDays = (days) => new Date(Date.now() + days * 24 * 60 * 60 * 1000).toISOString();",
                    "pm.collectionVariables.set(\"starts_at\", inDays(1));",
                    "pm.collectionVariables.set(\"ends_at\", inDays(5));",
                    "pm.collectionVariables.set(\"inspection_at\", inDays(3));"
                ]
            }
        }
    ],
    "variable": [
        {
            "key": "base_url",
            "value": "http://127.0.0.1:8000",
            "type": "string"
        },
        {
            "key": "api_prefix",
            "value": "api",
            "type": "string"
        },
        {
            "key": "lang",
            "value": "en",
            "type": "string"
        },
        {
            "key": "accept_language",
            "value": "en-US,en;q=0.9,ar;q=0.8",
            "type": "string"
        },
        {
            "key": "user_agent",
            "value": "ReValue/2.4.0 (iPhone; iOS 17.5.1; Scale/3.00)",
            "type": "string"
        },
        {
            "key": "access_token",
            "value": "",
            "type": "string"
        },
        {
            "key": "refresh_token",
            "value": "",
            "type": "string"
        },
        {
            "key": "client_token",
            "value": "",
            "type": "string"
        },
        {
            "key": "provider_token",
            "value": "",
            "type": "string"
        },
        {
            "key": "otp_code",
            "value": "1234",
            "type": "string"
        },
        {
            "key": "country_code",
            "value": "966",
            "type": "string"
        },
        {
            "key": "client_phone",
            "value": "512345678",
            "type": "string"
        },
        {
            "key": "client_new_phone",
            "value": "512345670",
            "type": "string"
        },
        {
            "key": "client_email",
            "value": "faisal.buyer@revalue.test",
            "type": "string"
        },
        {
            "key": "client_national_id",
            "value": "1098765432",
            "type": "string"
        },
        {
            "key": "client_password",
            "value": "Buyer2026Pass",
            "type": "string"
        },
        {
            "key": "client_new_password",
            "value": "Buyer2026Fresh",
            "type": "string"
        },
        {
            "key": "provider_phone",
            "value": "533221100",
            "type": "string"
        },
        {
            "key": "provider_new_phone",
            "value": "533221101",
            "type": "string"
        },
        {
            "key": "provider_email",
            "value": "nawaf.metals@revalue.test",
            "type": "string"
        },
        {
            "key": "provider_national_id",
            "value": "1076543210",
            "type": "string"
        },
        {
            "key": "provider_password",
            "value": "Seller2026Pass",
            "type": "string"
        },
        {
            "key": "provider_new_password",
            "value": "Seller2026Fresh",
            "type": "string"
        },
        {
            "key": "device_id",
            "value": "postman-iphone-15-pro",
            "type": "string"
        },
        {
            "key": "device_type",
            "value": "ios",
            "type": "string"
        },
        {
            "key": "mac_address",
            "value": "A4:83:E7:2B:9C:11",
            "type": "string"
        },
        {
            "key": "country_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "city_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "category_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "subcategory_id",
            "value": "2",
            "type": "string"
        },
        {
            "key": "condition_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "unit_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "listing_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "order_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "conversation_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "address_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "notification_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "complain_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "withdrawal_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "reason_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "rating_tag_id",
            "value": "1",
            "type": "string"
        },
        {
            "key": "iban",
            "value": "SA0380000000608010167519",
            "type": "string"
        },
        {
            "key": "bank_name",
            "value": "Al Rajhi Bank",
            "type": "string"
        },
        {
            "key": "handshake_code",
            "value": "1234",
            "type": "string"
        },
        {
            "key": "starts_at",
            "value": "",
            "type": "string"
        },
        {
            "key": "ends_at",
            "value": "",
            "type": "string"
        },
        {
            "key": "inspection_at",
            "value": "",
            "type": "string"
        }
    ],
    "item": [
        {
            "id": "406c0cb6-84d0-4e08-abe6-9f6a6b4ed3ec",
            "name": "01 - Public / Guest",
            "description": "Everything a visitor can reach without an account: app settings, the places and material\r\ncatalogue the listing forms are built from, legal pages, and the public contact forms.\r\n\r\n**Run this folder first.** Cycles 02 and 03 store `{{country_id}}`, `{{city_id}}`,\r\n`{{category_id}}`, `{{subcategory_id}}`, `{{condition_id}}` and `{{unit_id}}`, which the buyer\r\nand seller folders reuse when they complete a profile or publish a listing.\r\n\r\n**Depends on:** nothing except `{{base_url}}`.",
            "item": [
                {
                    "id": "dde3c387-3aef-4d43-b2e0-fb65694e8167",
                    "name": "01 - App Bootstrap",
                    "description": "The first calls a freshly installed app makes: global settings, the maps key, and the\r\nabout/contact blurbs shown on the welcome screens.\r\n\r\n**Produces:** nothing. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "6301eb48-ef75-49b7-ab65-ab4870b1283d",
                            "name": "App settings",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/settings",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "settings"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Loads the switches and numbers the apps read on launch: minimum wallet top-up, minimum withdrawal, commission, support phone and so on.\n\n**Route:** `GET /api/settings`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "f7a8c747-a284-44dc-8cdc-c54bac4f9aa8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Loads the switches and numbers the apps read on launch: minimum wallet top-up, minimum withdrawal, commission, support phone and so on.\n\n**Route:** `GET /api/settings`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"min_wallet_charge\": 50,\n        \"min_withdrawal\": 100,\n        \"commission_percentage\": 5,\n        \"currency\": \"SAR\",\n        \"support_phone\": \"966920000000\",\n        \"android_version\": \"2.4.0\",\n        \"ios_version\": \"2.4.0\"\n    }\n}"
                                },
                                {
                                    "id": "b2ee3a4e-0d29-4cea-a5ab-89a86875ad83",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Loads the switches and numbers the apps read on launch: minimum wallet top-up, minimum withdrawal, commission, support phone and so on.\n\n**Route:** `GET /api/settings`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "53069f38-337d-4ee8-b3b3-256279382a3c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Loads the switches and numbers the apps read on launch: minimum wallet top-up, minimum withdrawal, commission, support phone and so on.\n\n**Route:** `GET /api/settings`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1daeca4d-d4ef-44e0-9c4b-6ebace63e75f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/settings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "settings"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Loads the switches and numbers the apps read on launch: minimum wallet top-up, minimum withdrawal, commission, support phone and so on.\n\n**Route:** `GET /api/settings`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "97a35248-cc5f-4811-b2dc-fe4d42d57bd5",
                            "name": "Is this production?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/is-production",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "is-production"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Meant to tell the app whether it is talking to the live server. **Broken on the current build:** `SettingController::isProduction()` does not exist, so the error handler answers with `key=fail` (HTTP 200). The 200 example below shows what actually comes back today.\n\n**Route:** `GET /api/is-production`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "fdbf2f05-29e8-496e-8813-98abf9ac30b6",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/is-production",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "is-production"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to tell the app whether it is talking to the live server. **Broken on the current build:** `SettingController::isProduction()` does not exist, so the error handler answers with `key=fail` (HTTP 200). The 200 example below shows what actually comes back today.\n\n**Route:** `GET /api/is-production`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Api\\\\SettingController::isProduction does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "1205a7e9-a423-46f0-8224-9cd8fa4ededf",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/is-production",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "is-production"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to tell the app whether it is talking to the live server. **Broken on the current build:** `SettingController::isProduction()` does not exist, so the error handler answers with `key=fail` (HTTP 200). The 200 example below shows what actually comes back today.\n\n**Route:** `GET /api/is-production`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "57e0d321-d6f2-4803-8283-60efbfd1312b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/is-production",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "is-production"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to tell the app whether it is talking to the live server. **Broken on the current build:** `SettingController::isProduction()` does not exist, so the error handler answers with `key=fail` (HTTP 200). The 200 example below shows what actually comes back today.\n\n**Route:** `GET /api/is-production`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5d1b5d8e-f472-4a58-b4d8-6e7425172c24",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/is-production",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "is-production"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to tell the app whether it is talking to the live server. **Broken on the current build:** `SettingController::isProduction()` does not exist, so the error handler answers with `key=fail` (HTTP 200). The 200 example below shows what actually comes back today.\n\n**Route:** `GET /api/is-production`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f4e34cb3-f534-4d38-9743-ea844440e26b",
                            "name": "Google Maps key",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/google-maps-key",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "google-maps-key"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Returns the browser/mobile Google Maps key used by the address picker, so the key never has to be baked into the app bundle.\n\n**Route:** `GET /api/google-maps-key`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "f939c05c-91c5-4d69-ab79-7788d710bd9d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/google-maps-key",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "google-maps-key"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Returns the browser/mobile Google Maps key used by the address picker, so the key never has to be baked into the app bundle.\n\n**Route:** `GET /api/google-maps-key`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"google_maps_key\": \"AIzaSy-example-key-for-postman\"\n    }\n}"
                                },
                                {
                                    "id": "77c35ffb-bcb1-4ac8-a628-1458f7ccb419",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/google-maps-key",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "google-maps-key"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Returns the browser/mobile Google Maps key used by the address picker, so the key never has to be baked into the app bundle.\n\n**Route:** `GET /api/google-maps-key`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "7cbfd7d8-1c1e-4207-b384-5b1afd6e416a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/google-maps-key",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "google-maps-key"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Returns the browser/mobile Google Maps key used by the address picker, so the key never has to be baked into the app bundle.\n\n**Route:** `GET /api/google-maps-key`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "3e9c2031-c8ff-44a1-8e72-dffd5ba124fb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/google-maps-key",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "google-maps-key"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Returns the browser/mobile Google Maps key used by the address picker, so the key never has to be baked into the app bundle.\n\n**Route:** `GET /api/google-maps-key`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1affd16a-594a-4fe2-9795-e0d0a4bf6b5d",
                            "name": "Main info (home sliders)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/main",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "main"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Meant to return the home-screen sliders. **Broken on the current build:** the controller imports `App\\Http\\Resources\\Api\\sliders\\SlidersResource`, which does not exist, so the error handler answers with `key=fail` (HTTP 200).\n\n**Route:** `GET /api/main`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "dd28901f-e03d-4eff-a088-3f7994ec133d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/main",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "main"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to return the home-screen sliders. **Broken on the current build:** the controller imports `App\\Http\\Resources\\Api\\sliders\\SlidersResource`, which does not exist, so the error handler answers with `key=fail` (HTTP 200).\n\n**Route:** `GET /api/main`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Class \\\"App\\\\Http\\\\Resources\\\\Api\\\\sliders\\\\SlidersResource\\\" not found\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "5fee1794-d4f7-4d9f-b9f9-357249d2cd5a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/main",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "main"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to return the home-screen sliders. **Broken on the current build:** the controller imports `App\\Http\\Resources\\Api\\sliders\\SlidersResource`, which does not exist, so the error handler answers with `key=fail` (HTTP 200).\n\n**Route:** `GET /api/main`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2f3f197f-369e-4f6b-88ad-e815b927d5e1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/main",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "main"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to return the home-screen sliders. **Broken on the current build:** the controller imports `App\\Http\\Resources\\Api\\sliders\\SlidersResource`, which does not exist, so the error handler answers with `key=fail` (HTTP 200).\n\n**Route:** `GET /api/main`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b66ea0a7-1668-486a-97b2-6c4299bdf687",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/main",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "main"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to return the home-screen sliders. **Broken on the current build:** the controller imports `App\\Http\\Resources\\Api\\sliders\\SlidersResource`, which does not exist, so the error handler answers with `key=fail` (HTTP 200).\n\n**Route:** `GET /api/main`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "211ca9c1-c7aa-49c9-9158-19e0a0cb637b",
                            "name": "Who we are",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/who-is-us",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "who-is-us"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Short \"about ReValue\" text used on the onboarding screens.\n\n**Route:** `GET /api/who-is-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "9757a4da-77cf-4790-8eed-9d6d845f41bc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/who-is-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "who-is-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short \"about ReValue\" text used on the onboarding screens.\n\n**Route:** `GET /api/who-is-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"who_is_us\": \"ReValue connects scrap sellers with verified buyers across Saudi Arabia.\"\n    }\n}"
                                },
                                {
                                    "id": "0e1e3854-1e26-4dc2-8f73-de9054d56b36",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/who-is-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "who-is-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short \"about ReValue\" text used on the onboarding screens.\n\n**Route:** `GET /api/who-is-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cc0a4acc-f61a-4511-bdb5-f63a4127fe1a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/who-is-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "who-is-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short \"about ReValue\" text used on the onboarding screens.\n\n**Route:** `GET /api/who-is-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f32d4338-4408-42fc-a97d-9e23ac788ec6",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/who-is-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "who-is-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short \"about ReValue\" text used on the onboarding screens.\n\n**Route:** `GET /api/who-is-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "a5a5b8cd-9fff-43e3-9875-0440e40c271b",
                    "name": "02 - Countries & Cities",
                    "description": "The place picker behind every address form.\r\n\r\n**Produces:** `{{country_id}}` and `{{city_id}}`, which profile completion and listing\r\ncreation both need. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "617b29e1-a0cb-4f3b-8270-fc41408853e3",
                            "name": "List countries",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"country_id\", [\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/countries",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "countries"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "All countries ReValue operates in. The first one is stored as {{country_id}} for the requests that follow.\n\n**Route:** `GET /api/countries`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{country_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7ef8abea-d924-43e7-991c-3dc7e755db31",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "All countries ReValue operates in. The first one is stored as {{country_id}} for the requests that follow.\n\n**Route:** `GET /api/countries`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Saudi Arabia\",\n            \"code\": \"966\",\n            \"flag\": \"https://revalue.test/flags/sa.png\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "696ca0f0-bc1c-4972-8609-568e93328c12",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "All countries ReValue operates in. The first one is stored as {{country_id}} for the requests that follow.\n\n**Route:** `GET /api/countries`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "be3033ff-4447-4c9e-9800-646868f5264e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "All countries ReValue operates in. The first one is stored as {{country_id}} for the requests that follow.\n\n**Route:** `GET /api/countries`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c96d543f-b24e-45b8-809a-78afa5f01374",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "All countries ReValue operates in. The first one is stored as {{country_id}} for the requests that follow.\n\n**Route:** `GET /api/countries`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "455697f6-8ecf-4267-aa5d-b210776fced4",
                            "name": "List cities",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"city_id\", [\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/cities?country_id={{country_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "cities"
                                    ],
                                    "query": [
                                        {
                                            "key": "country_id",
                                            "value": "{{country_id}}",
                                            "description": "Optional. Integer. Only return cities inside this country.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Cities for the picker. Pass a country to narrow the list; leave it out and you get every city. The first city is stored as {{city_id}}.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |\n\n**Saves variables:** `{{city_id}}`"
                            },
                            "response": [
                                {
                                    "id": "23be8813-b2e7-4c74-84cb-ebed1548846f",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id={{country_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Cities for the picker. Pass a country to narrow the list; leave it out and you get every city. The first city is stored as {{city_id}}.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |\n\n**Saves variables:** `{{city_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Riyadh\",\n            \"country_id\": 1\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Jeddah\",\n            \"country_id\": 1\n        }\n    ]\n}"
                                },
                                {
                                    "id": "2eb568e4-4a21-4d77-a1ce-bd158518f04f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id={{country_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Cities for the picker. Pass a country to narrow the list; leave it out and you get every city. The first city is stored as {{city_id}}.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |\n\n**Saves variables:** `{{city_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ae3f2cca-8922-40d8-a9bf-e763bbede1c8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id={{country_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Cities for the picker. Pass a country to narrow the list; leave it out and you get every city. The first city is stored as {{city_id}}.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |\n\n**Saves variables:** `{{city_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "80b9f689-3886-4fd7-bfba-851062823fac",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id={{country_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Cities for the picker. Pass a country to narrow the list; leave it out and you get every city. The first city is stored as {{city_id}}.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |\n\n**Saves variables:** `{{city_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "bc6e3d5f-5576-4f20-af65-c281946dadfa",
                            "name": "List cities (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/cities",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "cities"
                                    ],
                                    "query": [
                                        {
                                            "key": "country_id",
                                            "value": "{{country_id}}",
                                            "description": "Optional. Integer. Only return cities inside this country.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Same call as \"List cities\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |"
                            },
                            "response": [
                                {
                                    "id": "e4443573-821e-4a94-b35e-5f696adc8023",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"List cities\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Riyadh\",\n            \"country_id\": 1\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Jeddah\",\n            \"country_id\": 1\n        }\n    ]\n}"
                                },
                                {
                                    "id": "760c8749-32e2-4c24-8cfe-0273edd86e4e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"List cities\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "58705dc2-c1dc-4cdd-846d-5046a68a8771",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"List cities\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5ca49a66-6a1f-4f47-9b7a-4f6b0d326c58",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "{{country_id}}",
                                                    "description": "Optional. Integer. Only return cities inside this country.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"List cities\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `{{country_id}}` | Optional. Integer. Only return cities inside this country. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d4c620fe-1c55-49f3-bc17-c681f531ae6a",
                            "name": "Countries with their cities",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/countries-with-cities",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "countries-with-cities"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "One call that returns each country with its cities nested inside — used by apps that cache the whole picker offline.\n\n**Route:** `GET /api/countries-with-cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "3cc2ca16-036d-4e03-ad16-5cba8ad7b305",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries-with-cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries-with-cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "One call that returns each country with its cities nested inside — used by apps that cache the whole picker offline.\n\n**Route:** `GET /api/countries-with-cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Saudi Arabia\",\n            \"code\": \"966\",\n            \"cities\": [\n                {\n                    \"id\": 1,\n                    \"name\": \"Riyadh\"\n                },\n                {\n                    \"id\": 2,\n                    \"name\": \"Jeddah\"\n                }\n            ]\n        }\n    ]\n}"
                                },
                                {
                                    "id": "5daa5159-0062-443a-bd2d-a20b9044d8e7",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries-with-cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries-with-cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "One call that returns each country with its cities nested inside — used by apps that cache the whole picker offline.\n\n**Route:** `GET /api/countries-with-cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "49b5357f-04bc-4983-9611-5938bf4a7347",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries-with-cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries-with-cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "One call that returns each country with its cities nested inside — used by apps that cache the whole picker offline.\n\n**Route:** `GET /api/countries-with-cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b8d2e98e-aa2a-488c-a438-80d1e82e4cd1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/countries-with-cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "countries-with-cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "One call that returns each country with its cities nested inside — used by apps that cache the whole picker offline.\n\n**Route:** `GET /api/countries-with-cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b65bcca3-a020-4faf-8efb-c774f899025a",
                            "name": "Cities of one country",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/country/{{country_id}}/cities",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "country",
                                        "{{country_id}}",
                                        "cities"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Same list as \"List cities\" but the country travels in the URL instead of a query string.\n\n**Route:** `GET /api/country/{country_id}/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Uses variables:** `{{country_id}}`"
                            },
                            "response": [
                                {
                                    "id": "6e93706b-4934-4b05-9a6e-57dedf64e599",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/country/{{country_id}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "country",
                                                "{{country_id}}",
                                                "cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same list as \"List cities\" but the country travels in the URL instead of a query string.\n\n**Route:** `GET /api/country/{country_id}/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Uses variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Riyadh\",\n            \"country_id\": 1\n        }\n    ]\n}"
                                },
                                {
                                    "id": "65a3bcc2-6bc6-4869-8455-60353a7eb29d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/country/{{country_id}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "country",
                                                "{{country_id}}",
                                                "cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same list as \"List cities\" but the country travels in the URL instead of a query string.\n\n**Route:** `GET /api/country/{country_id}/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Uses variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bdd21abb-0d97-4cef-8417-27819830d2c1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/country/{{country_id}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "country",
                                                "{{country_id}}",
                                                "cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same list as \"List cities\" but the country travels in the URL instead of a query string.\n\n**Route:** `GET /api/country/{country_id}/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Uses variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0d060343-54d8-4976-ad17-90f35bc34b36",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/country/{{country_id}}/cities",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "country",
                                                "{{country_id}}",
                                                "cities"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same list as \"List cities\" but the country travels in the URL instead of a query string.\n\n**Route:** `GET /api/country/{country_id}/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Uses variables:** `{{country_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "68ff0428-e129-4999-a823-7d7370fc32e9",
                    "name": "03 - Material Catalogue",
                    "description": "The dropdown data every listing form needs, plus the motivational copy shown inside the\r\nbidding room.\r\n\r\n**Produces:** `{{category_id}}`, `{{subcategory_id}}`, `{{condition_id}}`, `{{unit_id}}`.\r\n**Depends on:** nothing.",
                    "item": [
                        {
                            "id": "90972bb2-f41e-434e-89d0-35d9d90c9f86",
                            "name": "Material categories",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"category_id\", [\"data.0.id\"]);",
                                            "remember(\"subcategory_id\", [\"data.0.children.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/listing-categories",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "listing-categories"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Active categories with their sub-categories nested. Sellers pick one parent plus one child when publishing.\n\n**Route:** `GET /api/listing-categories`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{category_id}}`, `{{subcategory_id}}`"
                            },
                            "response": [
                                {
                                    "id": "bb6fbfb5-17f7-478a-aae7-fae046e03fea",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/listing-categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "listing-categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Active categories with their sub-categories nested. Sellers pick one parent plus one child when publishing.\n\n**Route:** `GET /api/listing-categories`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{category_id}}`, `{{subcategory_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Metals\",\n            \"slug\": \"metals\",\n            \"children\": [\n                {\n                    \"id\": 2,\n                    \"name\": \"Copper\",\n                    \"slug\": \"copper\"\n                },\n                {\n                    \"id\": 3,\n                    \"name\": \"Aluminium\",\n                    \"slug\": \"aluminium\"\n                }\n            ]\n        }\n    ]\n}"
                                },
                                {
                                    "id": "dc6a7822-887f-46f8-ac8f-c3a42e2318c0",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/listing-categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "listing-categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Active categories with their sub-categories nested. Sellers pick one parent plus one child when publishing.\n\n**Route:** `GET /api/listing-categories`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{category_id}}`, `{{subcategory_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2b1153ed-3546-41a8-9b54-a99a8807cc65",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/listing-categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "listing-categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Active categories with their sub-categories nested. Sellers pick one parent plus one child when publishing.\n\n**Route:** `GET /api/listing-categories`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{category_id}}`, `{{subcategory_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "081dbcec-66ac-4166-a0d0-eb95f63cd79e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/listing-categories",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "listing-categories"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Active categories with their sub-categories nested. Sellers pick one parent plus one child when publishing.\n\n**Route:** `GET /api/listing-categories`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{category_id}}`, `{{subcategory_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "075ea92a-197f-4340-9461-e76dfc1e43ff",
                            "name": "Material conditions",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"condition_id\", [\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/material-conditions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "material-conditions"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "How worn the material is — clean, mixed, contaminated. Required on every listing.\n\n**Route:** `GET /api/material-conditions`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{condition_id}}`"
                            },
                            "response": [
                                {
                                    "id": "aac10e05-e67f-4f12-8160-a36c5c9136fb",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/material-conditions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "material-conditions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "How worn the material is — clean, mixed, contaminated. Required on every listing.\n\n**Route:** `GET /api/material-conditions`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{condition_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Clean / sorted\",\n            \"slug\": \"clean\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Mixed\",\n            \"slug\": \"mixed\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "031d650d-f273-4bd6-b33e-2f7dbf855824",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/material-conditions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "material-conditions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "How worn the material is — clean, mixed, contaminated. Required on every listing.\n\n**Route:** `GET /api/material-conditions`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{condition_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e3d90b40-c70e-4dfa-87fd-86a93716caa2",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/material-conditions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "material-conditions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "How worn the material is — clean, mixed, contaminated. Required on every listing.\n\n**Route:** `GET /api/material-conditions`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{condition_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f392a33c-4af3-4461-9a4b-3e4687ab05a1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/material-conditions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "material-conditions"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "How worn the material is — clean, mixed, contaminated. Required on every listing.\n\n**Route:** `GET /api/material-conditions`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{condition_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d23df0d5-acc1-49a7-9ada-3ff8cc59120b",
                            "name": "Measurement units",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"unit_id\", [\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/units",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "units"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Units a quantity can be expressed in (kilogram, ton, piece).\n\n**Route:** `GET /api/units`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{unit_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a1068de3-f996-4de7-abb8-4783660e818a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/units",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "units"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Units a quantity can be expressed in (kilogram, ton, piece).\n\n**Route:** `GET /api/units`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{unit_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Kilogram\",\n            \"symbol\": \"kg\",\n            \"slug\": \"kg\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Ton\",\n            \"symbol\": \"t\",\n            \"slug\": \"ton\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "6c959fb0-904c-455e-934a-5cbb1bb53d45",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/units",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "units"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Units a quantity can be expressed in (kilogram, ton, piece).\n\n**Route:** `GET /api/units`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{unit_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fb7606ae-bbf9-49c7-b47e-e8e56204ec48",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/units",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "units"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Units a quantity can be expressed in (kilogram, ton, piece).\n\n**Route:** `GET /api/units`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{unit_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "40f1eaf4-6e7a-4c79-be42-11c1f1626274",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/units",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "units"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Units a quantity can be expressed in (kilogram, ton, piece).\n\n**Route:** `GET /api/units`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Saves variables:** `{{unit_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "86368e6d-3f47-436c-b49a-6c7f49e30458",
                            "name": "Market pulse",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/market-pulse",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "market-pulse"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Live indicator strip on the home screen: how many auctions are running, average closing prices and the trend arrow.\n\n**Route:** `GET /api/market-pulse`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "fca03b7a-121b-446b-b364-a56d00478c7c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/market-pulse",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "market-pulse"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Live indicator strip on the home screen: how many auctions are running, average closing prices and the trend arrow.\n\n**Route:** `GET /api/market-pulse`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"active_auctions\": 12,\n        \"average_close_price\": 4380.5,\n        \"trend\": \"up\",\n        \"updated_at\": \"2026-08-23T09:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "e5a3f505-375e-4e03-934f-51b1eb03e04e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/market-pulse",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "market-pulse"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Live indicator strip on the home screen: how many auctions are running, average closing prices and the trend arrow.\n\n**Route:** `GET /api/market-pulse`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "318b73af-e98f-4661-95c7-0ba99f9feac3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/market-pulse",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "market-pulse"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Live indicator strip on the home screen: how many auctions are running, average closing prices and the trend arrow.\n\n**Route:** `GET /api/market-pulse`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c9c72802-a018-4764-a6b3-72f0885dc935",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/market-pulse",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "market-pulse"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Live indicator strip on the home screen: how many auctions are running, average closing prices and the trend arrow.\n\n**Route:** `GET /api/market-pulse`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "9622e323-5b46-4f4d-9e54-c24cebaf571a",
                            "name": "Guidance steps",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/guidance-steps",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "guidance-steps"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "The \"how ReValue works\" walkthrough shown to first-time users.\n\n**Route:** `GET /api/guidance-steps`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "2f37f13e-c453-4562-a4f6-fc737e06ff78",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/guidance-steps",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "guidance-steps"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The \"how ReValue works\" walkthrough shown to first-time users.\n\n**Route:** `GET /api/guidance-steps`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"steps\": [\n            {\n                \"id\": 1,\n                \"sort_order\": 1,\n                \"title\": \"Publish your material\",\n                \"description\": \"Add photos, quantity and a starting price.\"\n            },\n            {\n                \"id\": 2,\n                \"sort_order\": 2,\n                \"title\": \"Collect bids\",\n                \"description\": \"Verified buyers compete for your lot.\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "799ca499-0bb8-41b6-b8c0-11e58a6dc97e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/guidance-steps",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "guidance-steps"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The \"how ReValue works\" walkthrough shown to first-time users.\n\n**Route:** `GET /api/guidance-steps`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8006c55a-c339-4ba6-b477-01bd5361254f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/guidance-steps",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "guidance-steps"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The \"how ReValue works\" walkthrough shown to first-time users.\n\n**Route:** `GET /api/guidance-steps`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "94d3a393-df0d-46ea-a4ad-76dfcfbf91cf",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/guidance-steps",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "guidance-steps"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The \"how ReValue works\" walkthrough shown to first-time users.\n\n**Route:** `GET /api/guidance-steps`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5c955133-7a4d-40e6-8583-6dd5326e4ddb",
                            "name": "Motivational messages",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=bidding",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "motivational-messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "context",
                                            "value": "bidding",
                                            "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Short nudges shown while bidding (\"you are leading\", \"someone outbid you\"). Ask for one context or get them all.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                            },
                            "response": [
                                {
                                    "id": "d4a34dbf-3c06-488a-8993-49788e0e25d5",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=bidding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short nudges shown while bidding (\"you are leading\", \"someone outbid you\"). Ask for one context or get them all.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"contexts\": [\n            \"bidding\",\n            \"outbid\",\n            \"leading\"\n        ],\n        \"messages\": [\n            {\n                \"id\": 1,\n                \"context\": \"bidding\",\n                \"message\": \"Keep going, the lot is still open.\",\n                \"sort_order\": 1\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "acd4498c-a23a-4f16-b9d8-55e26eba3eef",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=bidding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short nudges shown while bidding (\"you are leading\", \"someone outbid you\"). Ask for one context or get them all.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "161ee22c-298f-45e1-8a5f-c8f36ac9057f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=bidding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short nudges shown while bidding (\"you are leading\", \"someone outbid you\"). Ask for one context or get them all.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9ea36425-1a3b-4f87-958b-1ae7f17c2b9c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=bidding",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Short nudges shown while bidding (\"you are leading\", \"someone outbid you\"). Ask for one context or get them all.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b67e0ad4-43af-4015-990c-c9facbae2dc3",
                            "name": "Motivational messages (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/motivational-messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "motivational-messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "context",
                                            "value": "bidding",
                                            "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Same call as \"Motivational messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                            },
                            "response": [
                                {
                                    "id": "9f6fd7de-4a82-4b2c-90c1-73791e24c641",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"Motivational messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"contexts\": [\n            \"bidding\",\n            \"outbid\",\n            \"leading\"\n        ],\n        \"messages\": [\n            {\n                \"id\": 1,\n                \"context\": \"bidding\",\n                \"message\": \"Keep going, the lot is still open.\",\n                \"sort_order\": 1\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c1990f0f-3c6b-4702-a453-4c858fd13d95",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"Motivational messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3d95ade7-b508-4127-a3e4-72fb4e41787d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"Motivational messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c84d3dcd-20bd-4384-9a8f-9366d6fbddb4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "bidding",
                                                    "description": "Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"Motivational messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `bidding` | Optional. One of bidding, outbid, leading. Anything else is ignored and you get every context. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "ce32ac04-a26f-46cc-b962-4c0506365ca8",
                    "name": "04 - Legal & Help Pages",
                    "description": "Static copy rendered inside the apps: about, terms, privacy, social links and the FAQ list.\r\n\r\n**Produces:** nothing. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "dafd347a-91fe-4e5e-9d58-07046d6f7670",
                            "name": "About page",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/about",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "about"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "HTML body of the \"About ReValue\" page in the requested language.\n\n**Route:** `GET /api/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "bb560e5e-da4b-429f-b9f1-c33cc3ebcefe",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "HTML body of the \"About ReValue\" page in the requested language.\n\n**Route:** `GET /api/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"About ReValue\",\n        \"content\": \"<p>ReValue is a marketplace for recyclable materials.</p>\"\n    }\n}"
                                },
                                {
                                    "id": "907609b6-66c2-454a-bf1e-2930fd2da467",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "HTML body of the \"About ReValue\" page in the requested language.\n\n**Route:** `GET /api/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fe870eb8-9eac-418b-a195-6223c26dd95a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "HTML body of the \"About ReValue\" page in the requested language.\n\n**Route:** `GET /api/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "56b7576e-cbc2-40eb-8aa1-86be6ee16925",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "HTML body of the \"About ReValue\" page in the requested language.\n\n**Route:** `GET /api/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "744f9a8f-afe9-4819-be1b-18f9352b54b2",
                            "name": "Terms & conditions",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/terms",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "terms"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Terms users accept during registration.\n\n**Route:** `GET /api/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "d90a4f00-71fd-4eb8-80fa-2906c90d9a5d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms users accept during registration.\n\n**Route:** `GET /api/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"Terms & Conditions\",\n        \"content\": \"<p>By using ReValue you agree to…</p>\"\n    }\n}"
                                },
                                {
                                    "id": "bb0e754d-8f2a-4d83-a248-c4e9dc78131e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms users accept during registration.\n\n**Route:** `GET /api/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0ef1a6d9-2930-49ac-9699-8efc61c190fb",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms users accept during registration.\n\n**Route:** `GET /api/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cfca0b07-6d85-41a7-84c0-b5bb35296ae7",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms users accept during registration.\n\n**Route:** `GET /api/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "480f9476-86fd-46d8-b06c-3e4fd1c619ad",
                            "name": "Privacy policy",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/privacy",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "privacy"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Privacy policy text, linked from the account screens.\n\n**Route:** `GET /api/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "2ec96a8e-12f3-45e0-a445-5ebe6257a4fc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy policy text, linked from the account screens.\n\n**Route:** `GET /api/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"Privacy Policy\",\n        \"content\": \"<p>We store your data…</p>\"\n    }\n}"
                                },
                                {
                                    "id": "7a9ecf59-8f97-4d7a-8ab5-5e9b30f785ce",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy policy text, linked from the account screens.\n\n**Route:** `GET /api/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fda4553b-2b4b-4277-a381-a820acfb5bdf",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy policy text, linked from the account screens.\n\n**Route:** `GET /api/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "39f11ab9-7886-4797-8112-3cd1d83d751e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy policy text, linked from the account screens.\n\n**Route:** `GET /api/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d22518d3-8ff7-42de-9200-bcb85e4c67cf",
                            "name": "Social links",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/socials",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "socials"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Links to the ReValue social accounts shown in the app footer.\n\n**Route:** `GET /api/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "d9cc88b6-60f8-4fb3-8bdf-795caa1eaa7c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Links to the ReValue social accounts shown in the app footer.\n\n**Route:** `GET /api/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"name\": \"x\",\n            \"url\": \"https://x.com/revalue\"\n        },\n        {\n            \"name\": \"instagram\",\n            \"url\": \"https://instagram.com/revalue\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "258cd671-b706-46a1-8383-24df3def5a3c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Links to the ReValue social accounts shown in the app footer.\n\n**Route:** `GET /api/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "25d06877-ea94-4e9d-a738-d60bd2cdf36d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Links to the ReValue social accounts shown in the app footer.\n\n**Route:** `GET /api/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "94fdca7b-519a-46f9-9b51-51cbb36b1432",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Links to the ReValue social accounts shown in the app footer.\n\n**Route:** `GET /api/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cc7a5152-79ba-432d-b78b-9cfb387b4f96",
                            "name": "FAQs",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/faqs?type=general&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "faqs"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "general",
                                            "description": "Optional. general or trip. Unknown values fall back to general.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Paginated questions and answers. `type` picks the section; anything outside general/trip quietly falls back to general.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "77e70504-2c17-4e0f-8d5b-87d5ced2680f",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=general&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Paginated questions and answers. `type` picks the section; anything outside general/trip quietly falls back to general.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1,\n                \"type\": \"general\",\n                \"question\": \"How do I get paid?\",\n                \"answer\": \"The escrow releases to your wallet once the buyer confirms receipt.\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "f1f52b2c-d665-48ec-9a41-a2f7b530e8da",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=general&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Paginated questions and answers. `type` picks the section; anything outside general/trip quietly falls back to general.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "39abb9b0-fc03-4f38-9430-d23113548129",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=general&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Paginated questions and answers. `type` picks the section; anything outside general/trip quietly falls back to general.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e1032ea2-583d-4430-b113-1bb5251ea745",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=general&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Paginated questions and answers. `type` picks the section; anything outside general/trip quietly falls back to general.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "46c710e1-93db-43f9-bb0b-e908cebae4d7",
                            "name": "FAQs (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/faqs",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "faqs"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "general",
                                            "description": "Optional. general or trip. Unknown values fall back to general.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Same call as \"FAQs\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "8a55fc60-9e1b-44b8-856a-c25ee6dcaa95",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"FAQs\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1,\n                \"type\": \"general\",\n                \"question\": \"How do I get paid?\",\n                \"answer\": \"The escrow releases to your wallet once the buyer confirms receipt.\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "33b55cb6-40a4-4eba-9926-fbe4b35bc76e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"FAQs\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bb049149-27c5-4785-a88a-33b56308343e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"FAQs\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9894d464-e94f-4feb-8544-572649f3b0f6",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "general",
                                                    "description": "Optional. general or trip. Unknown values fall back to general.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Same call as \"FAQs\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `general` | Optional. general or trip. Unknown values fall back to general. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2a6b6cf1-9bff-4ba2-b779-89d91810c502",
                            "name": "Export PDF (disabled)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [404];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "pm.test(\"Response carries a body\", function () {",
                                            "    pm.expect(pm.response.text().length).to.be.above(0);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/export-pdf",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "export-pdf"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Placeholder route. The controller intentionally answers HTTP 404 with `{\"status\": false, \"message\": \"Feature not available\"}` — it is kept so old app builds get a clean answer instead of a routing error.\n\n**Route:** `GET /api/export-pdf`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "9be54f84-ee4b-47ac-9579-f7a144fcd640",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/export-pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "export-pdf"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Placeholder route. The controller intentionally answers HTTP 404 with `{\"status\": false, \"message\": \"Feature not available\"}` — it is kept so old app builds get a clean answer instead of a routing error.\n\n**Route:** `GET /api/export-pdf`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "Not Found",
                                    "code": 404,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"status\": false,\n    \"message\": \"Feature not available\"\n}"
                                },
                                {
                                    "id": "cb6485a6-ef06-47b1-9355-72a8b34a218a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/export-pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "export-pdf"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Placeholder route. The controller intentionally answers HTTP 404 with `{\"status\": false, \"message\": \"Feature not available\"}` — it is kept so old app builds get a clean answer instead of a routing error.\n\n**Route:** `GET /api/export-pdf`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5e3bcc78-5aaf-4bc7-82f9-ea692eda608a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/export-pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "export-pdf"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Placeholder route. The controller intentionally answers HTTP 404 with `{\"status\": false, \"message\": \"Feature not available\"}` — it is kept so old app builds get a clean answer instead of a routing error.\n\n**Route:** `GET /api/export-pdf`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e3bcc63f-2245-435a-9c96-8c5c989ee2c5",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/export-pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "export-pdf"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Placeholder route. The controller intentionally answers HTTP 404 with `{\"status\": false, \"message\": \"Feature not available\"}` — it is kept so old app builds get a clean answer instead of a routing error.\n\n**Route:** `GET /api/export-pdf`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "e31af2f5-36d1-440b-8fdc-5522430690bb",
                    "name": "05 - Buyer App Content",
                    "description": "The same legal pages again, served under the `client` prefix because the buyer app requests\r\nthem with its own base path. They answer guests, so they live here rather than in the buyer\r\nfolder.\r\n\r\n**Produces:** nothing. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "fb922141-e5a4-43d8-8b05-b38cd7ec9185",
                            "name": "About page (buyer app)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/about",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "about"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "About text as the buyer app requests it.\n\n**Route:** `GET /api/client/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "de88e96b-9003-4019-b4b8-2eaa149896a9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "About text as the buyer app requests it.\n\n**Route:** `GET /api/client/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"About ReValue\",\n        \"content\": \"<p>ReValue is a marketplace for recyclable materials.</p>\"\n    }\n}"
                                },
                                {
                                    "id": "bff08108-ec4c-49d5-b1cf-f357bf0c9d0c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "About text as the buyer app requests it.\n\n**Route:** `GET /api/client/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6c251385-90a5-487f-8a91-657ebd94ffda",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "About text as the buyer app requests it.\n\n**Route:** `GET /api/client/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5b45308d-3d28-4192-b8df-2655b3aa15ba",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/about",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "about"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "About text as the buyer app requests it.\n\n**Route:** `GET /api/client/about`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "88a74eca-af57-496e-9022-5e6a30578587",
                            "name": "Terms (buyer app)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/terms",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "terms"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Terms text as the buyer app requests it.\n\n**Route:** `GET /api/client/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "9ae592f2-95dc-485c-bfe0-323812269c25",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms text as the buyer app requests it.\n\n**Route:** `GET /api/client/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"Terms & Conditions\",\n        \"content\": \"<p>By using ReValue you agree to…</p>\"\n    }\n}"
                                },
                                {
                                    "id": "6594346c-c6c7-47f0-8929-05d000334f17",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms text as the buyer app requests it.\n\n**Route:** `GET /api/client/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c7c90975-bfaa-46b2-b2fc-b0fcf748f4fe",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms text as the buyer app requests it.\n\n**Route:** `GET /api/client/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "aa4aad58-da88-4456-a76f-6bb9deb46062",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/terms",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "terms"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Terms text as the buyer app requests it.\n\n**Route:** `GET /api/client/terms`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "31424ecb-9338-4742-8ffc-c0d095d6e908",
                            "name": "Privacy (buyer app)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/privacy",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "privacy"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Privacy text as the buyer app requests it.\n\n**Route:** `GET /api/client/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "d6c2da4a-26de-4dfd-a9ab-b25953f89bc5",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy text as the buyer app requests it.\n\n**Route:** `GET /api/client/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"title\": \"Privacy Policy\",\n        \"content\": \"<p>We store your data…</p>\"\n    }\n}"
                                },
                                {
                                    "id": "ad271860-492c-4a57-b417-bd549a0be8b1",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy text as the buyer app requests it.\n\n**Route:** `GET /api/client/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a7b745d1-3218-4e02-a7b8-1b3c86e73411",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy text as the buyer app requests it.\n\n**Route:** `GET /api/client/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "54ce612a-8b5e-4851-93cc-9ce298143fa0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/privacy",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "privacy"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Privacy text as the buyer app requests it.\n\n**Route:** `GET /api/client/privacy`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "55af48ed-17c5-4b16-bad1-ccfee5b5f3fd",
                            "name": "Social links (buyer app)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/socials",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "socials"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Social links for the buyer app footer.\n\n**Route:** `GET /api/client/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "944eefee-8415-45a3-91b5-794c4fb64880",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Social links for the buyer app footer.\n\n**Route:** `GET /api/client/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"name\": \"x\",\n            \"url\": \"https://x.com/revalue\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "4b28be99-a49e-4eb8-b24a-b33cfe6729d1",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Social links for the buyer app footer.\n\n**Route:** `GET /api/client/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cd2b3d6a-0559-4e7d-94a8-c6a5a97a8984",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Social links for the buyer app footer.\n\n**Route:** `GET /api/client/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9abd0433-80a1-41ca-9869-670a03071f07",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/socials",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "socials"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Social links for the buyer app footer.\n\n**Route:** `GET /api/client/socials`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "fc6e3706-1e3d-463a-be5b-873726892fbd",
                            "name": "Buyer app intro slides",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/app-intro",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "app-intro"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Onboarding slides shown the first time the buyer app opens.\n\n**Route:** `GET /api/client/app-intro`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "8918eb74-002f-4dcb-80ab-df9bfe98abbd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/app-intro",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "app-intro"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Onboarding slides shown the first time the buyer app opens.\n\n**Route:** `GET /api/client/app-intro`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"title\": \"Find material near you\",\n            \"description\": \"Browse live auctions in your city.\",\n            \"image\": \"https://revalue.test/intro/1.png\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "e5aa6165-f0d4-4d86-8281-58d2c46e9ab9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/app-intro",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "app-intro"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Onboarding slides shown the first time the buyer app opens.\n\n**Route:** `GET /api/client/app-intro`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a234668f-b473-42d5-8217-bb94fdb56074",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/app-intro",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "app-intro"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Onboarding slides shown the first time the buyer app opens.\n\n**Route:** `GET /api/client/app-intro`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8a20415a-b558-4aec-b343-91affcdd1ec8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/app-intro",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "app-intro"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Onboarding slides shown the first time the buyer app opens.\n\n**Route:** `GET /api/client/app-intro`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "b97c4c02-1fbe-47af-96f8-f851ae5259f1",
                    "name": "06 - Contact & Newsletter",
                    "description": "Ways a visitor can reach the team without an account.\r\n\r\n**Produces:** nothing. **Depends on:** nothing. Note that `POST /api/site/contact-us` is rate\r\nlimited to 5 calls per minute.",
                    "item": [
                        {
                            "id": "4adefbef-a7b9-4bcc-89e9-e9c9edca4749",
                            "name": "Contact details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/contact",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "contact"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Support phone, email and WhatsApp number shown on the contact screen.\n\n**Route:** `GET /api/contact`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "caf91090-3db6-407b-b0e8-a61a03d00369",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Support phone, email and WhatsApp number shown on the contact screen.\n\n**Route:** `GET /api/contact`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"phone\": \"966920000000\",\n        \"email\": \"support@revalue.sa\",\n        \"whatsapp\": \"966550000000\"\n    }\n}"
                                },
                                {
                                    "id": "67b3add0-ad79-4ffb-98f4-2fbbe791f6f7",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Support phone, email and WhatsApp number shown on the contact screen.\n\n**Route:** `GET /api/contact`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4e71751c-c981-4837-b195-015584ce7bd8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Support phone, email and WhatsApp number shown on the contact screen.\n\n**Route:** `GET /api/contact`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ad5d11d3-c96b-4345-baf8-04a07ee196a3",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Support phone, email and WhatsApp number shown on the contact screen.\n\n**Route:** `GET /api/contact`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2d86b6ca-c2aa-4cdc-a285-3470775e6847",
                            "name": "Contact subjects",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/contact/types",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "contact",
                                        "types"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "The subjects the contact form offers. Send one of these values back as `type`.\n\n**Route:** `GET /api/contact/types`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "6179bf01-d42e-4bda-bf4b-9d9e8f6c8b47",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/types",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "types"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The subjects the contact form offers. Send one of these values back as `type`.\n\n**Route:** `GET /api/contact/types`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"key\": \"trip_issue\",\n            \"name\": \"Pickup issue\"\n        },\n        {\n            \"key\": \"payment_issue\",\n            \"name\": \"Payment issue\"\n        },\n        {\n            \"key\": \"damaged_scooter\",\n            \"name\": \"Damaged item\"\n        },\n        {\n            \"key\": \"suggestion\",\n            \"name\": \"Suggestion\"\n        },\n        {\n            \"key\": \"general_inquiry\",\n            \"name\": \"General inquiry\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "0b4f1dcd-3cc2-4b99-89aa-f9c793afc065",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/types",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "types"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The subjects the contact form offers. Send one of these values back as `type`.\n\n**Route:** `GET /api/contact/types`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "83b862e8-f84d-4a52-972e-7280db71b54b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/types",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "types"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The subjects the contact form offers. Send one of these values back as `type`.\n\n**Route:** `GET /api/contact/types`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2ba69f23-0f25-456f-b933-211359d9668a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/types",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "types"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The subjects the contact form offers. Send one of these values back as `type`.\n\n**Route:** `GET /api/contact/types`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "7c6b41d8-ee9d-4c2f-b516-ce21b42932f7",
                            "name": "Send a contact message",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "contact",
                                        "store"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Faisal Al-Harbi",
                                            "type": "text",
                                            "description": "required|string|max:50",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|string|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|string|min:8|max:15",
                                            "disabled": false
                                        },
                                        {
                                            "key": "message",
                                            "value": "I would like to know how the escrow release works after pickup.",
                                            "type": "text",
                                            "description": "required|string",
                                            "disabled": false
                                        },
                                        {
                                            "key": "type",
                                            "value": "general_inquiry",
                                            "type": "text",
                                            "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                            },
                            "response": [
                                {
                                    "id": "380ab8ae-0b78-4b48-8233-ed46c1d5ee79",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "I would like to know how the escrow release works after pickup.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Your message was sent successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "78578889-502e-4538-920c-f8865edbe9f3",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "I would like to know how the escrow release works after pickup.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Message sent successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "ab9c842c-91de-4436-96b3-07ec63a5bc52",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "I would like to know how the escrow release works after pickup.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1f3136ec-eb69-48fd-a5ec-924848618eec",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "I would like to know how the escrow release works after pickup.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a5c87570-c7f2-4538-83d9-4be506918c09",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "I would like to know how the escrow release works after pickup.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a message to support. Works signed out; when a token is attached the message is linked to that account and the admins get a notification.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d7afdf66-4d49-4e78-aa0c-a998cb9b816e",
                            "name": "Marketing site — contact us",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,429];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "contact-us"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Sara Al-Otaibi",
                                            "type": "text",
                                            "description": "required|string|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "email",
                                            "value": "sara@example.com",
                                            "type": "text",
                                            "description": "required|email",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{country_code}}{{client_phone}}",
                                            "type": "text",
                                            "description": "nullable|string|max:20",
                                            "disabled": false
                                        },
                                        {
                                            "key": "message",
                                            "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                            "type": "text",
                                            "description": "required|string",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                            },
                            "response": [
                                {
                                    "id": "37e55900-4fd8-48f1-9a02-1d670fe51c1b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "contact-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Sara Al-Otaibi",
                                                    "type": "text",
                                                    "description": "required|string|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{country_code}}{{client_phone}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:20",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Site\\\\IntroController::contactUs does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "bdd05b04-e5d9-440b-91ac-8544437fac0e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "contact-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Sara Al-Otaibi",
                                                    "type": "text",
                                                    "description": "required|string|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{country_code}}{{client_phone}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:20",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"email\": [\n            \"The email field is required.\"\n        ],\n        \"message\": [\n            \"The message field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d923d6ef-ed5b-44f1-9bb9-f54b96984523",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "contact-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Sara Al-Otaibi",
                                                    "type": "text",
                                                    "description": "required|string|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{country_code}}{{client_phone}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:20",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d0d03a29-a465-41a0-a257-bad6e4aee669",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "contact-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Sara Al-Otaibi",
                                                    "type": "text",
                                                    "description": "required|string|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{country_code}}{{client_phone}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:20",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "362d3cdc-134b-40ae-92e1-a5d7002adcc4",
                                    "name": "429 Too Many Requests (throttle: 5 per minute)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/contact-us",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "contact-us"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Sara Al-Otaibi",
                                                    "type": "text",
                                                    "description": "required|string|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{country_code}}{{client_phone}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:20",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "We generate around 4 tons of aluminium scrap monthly and would like to sell through ReValue.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Contact form on the marketing website. Throttled to 5 requests per minute per IP, so a sixth call inside a minute comes back as HTTP 429. Heads up: the controller method behind this route is missing on the current build, so the API answers with `key=fail` until it is implemented.\n\n**Route:** `POST /api/site/contact-us`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:100 |\n| `email` | required · email |\n| `phone` | nullable · string · max:20 |\n| `message` | required · string |"
                                    },
                                    "status": "Too Many Requests",
                                    "code": 429,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"message\": \"Too Many Attempts.\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "35883837-e3e6-4d96-9820-a42b301094e6",
                            "name": "Marketing site — newsletter signup",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/newsletter",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "newsletter"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "sara@example.com",
                                            "type": "text",
                                            "description": "required|email",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Newsletter subscription from the marketing website. Same caveat as contact-us: the controller method is missing on this build, so the API answers with `key=fail`.\n\n**Route:** `POST /api/site/newsletter`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |"
                            },
                            "response": [
                                {
                                    "id": "13ac684e-7174-4778-b67f-158037cb69b8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/newsletter",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "newsletter"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Newsletter subscription from the marketing website. Same caveat as contact-us: the controller method is missing on this build, so the API answers with `key=fail`.\n\n**Route:** `POST /api/site/newsletter`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Site\\\\IntroController::newsletter does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "7d4e6fb4-b414-4cbe-adb9-f5b7bf17df0c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/newsletter",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "newsletter"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Newsletter subscription from the marketing website. Same caveat as contact-us: the controller method is missing on this build, so the API answers with `key=fail`.\n\n**Route:** `POST /api/site/newsletter`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6ba35d3d-c47f-464a-85dd-498497750dd6",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/newsletter",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "newsletter"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Newsletter subscription from the marketing website. Same caveat as contact-us: the controller method is missing on this build, so the API answers with `key=fail`.\n\n**Route:** `POST /api/site/newsletter`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ac1e5c2a-731f-4424-b2a8-aec759c9edc0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/newsletter",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "newsletter"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "sara@example.com",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Newsletter subscription from the marketing website. Same caveat as contact-us: the controller method is missing on this build, so the API answers with `key=fail`.\n\n**Route:** `POST /api/site/newsletter`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "21cb8961-cd71-493b-b876-93e94e200e39",
                    "name": "07 - Marketing Website",
                    "description": "Routes the public website uses. `site/home` renders an HTML page rather than JSON, and the\r\nthree list endpoints point at controller methods that do not exist on this build — they are\r\nincluded so the collection matches the router exactly, and their examples show what you\r\nactually get back today.\r\n\r\n**Produces:** nothing. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "0b5719ba-9cbb-45b7-a2b5-4ea8b690925d",
                            "name": "Marketing home page (HTML)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,500];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "pm.test(\"Response carries a body\", function () {",
                                            "    pm.expect(pm.response.text().length).to.be.above(0);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/home",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "home"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Renders the marketing landing page. This is the only route in the collection that answers with HTML instead of the JSON envelope.\n\n**Route:** `GET /api/site/home`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "ecce4917-4869-4266-978a-5764cc819bba",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Renders the marketing landing page. This is the only route in the collection that answers with HTML instead of the JSON envelope.\n\n**Route:** `GET /api/site/home`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "html",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "text/html; charset=UTF-8"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "<!DOCTYPE html>\n<html lang=\"en\">\n<head><title>ReValue</title></head>\n<body><h1>ReValue — sell your scrap for what it is worth</h1></body>\n</html>"
                                },
                                {
                                    "id": "91f8ebc1-dda1-4f78-bc0b-158091d3f0cc",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Renders the marketing landing page. This is the only route in the collection that answers with HTML instead of the JSON envelope.\n\n**Route:** `GET /api/site/home`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8a00c73e-1a96-4d22-b13d-707f2c24e149",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Renders the marketing landing page. This is the only route in the collection that answers with HTML instead of the JSON envelope.\n\n**Route:** `GET /api/site/home`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "eb0c6f6f-0e14-4b6c-b733-e9bef56b4cfa",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "home"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Renders the marketing landing page. This is the only route in the collection that answers with HTML instead of the JSON envelope.\n\n**Route:** `GET /api/site/home`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "83c9dbb3-9751-4930-ba8f-53894e8862e1",
                            "name": "Marketing — buyers showcase",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/clients",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "clients"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Meant to list the buyers featured on the website. The controller method is missing on this build, so the error handler answers with `key=fail`.\n\n**Route:** `GET /api/site/clients`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "3b8b5491-0865-4309-aeae-7ee3ccfaae21",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/clients",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "clients"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the buyers featured on the website. The controller method is missing on this build, so the error handler answers with `key=fail`.\n\n**Route:** `GET /api/site/clients`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Site\\\\IntroController::getAllClients does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "684f2319-4c98-4f6e-ae66-ef2117cdcc18",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/clients",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "clients"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the buyers featured on the website. The controller method is missing on this build, so the error handler answers with `key=fail`.\n\n**Route:** `GET /api/site/clients`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "529c5968-2754-475b-ade4-9fd0c6b2193e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/clients",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "clients"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the buyers featured on the website. The controller method is missing on this build, so the error handler answers with `key=fail`.\n\n**Route:** `GET /api/site/clients`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8eb7a5fc-7e88-4782-95cc-8e6ee20f0da8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/clients",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "clients"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the buyers featured on the website. The controller method is missing on this build, so the error handler answers with `key=fail`.\n\n**Route:** `GET /api/site/clients`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "636fa03c-9054-4059-8059-606d8f9c74d3",
                            "name": "Marketing — sellers showcase",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/providers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "providers"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Meant to list the sellers featured on the website. Same missing-method caveat as the buyers showcase.\n\n**Route:** `GET /api/site/providers`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "2cedc112-02d4-4e50-b0ac-0e25cd5a6b4e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/providers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "providers"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the sellers featured on the website. Same missing-method caveat as the buyers showcase.\n\n**Route:** `GET /api/site/providers`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Site\\\\IntroController::getAllproviders does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "bff4e994-90eb-473d-9826-0821d71daed8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/providers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "providers"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the sellers featured on the website. Same missing-method caveat as the buyers showcase.\n\n**Route:** `GET /api/site/providers`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c2c60c25-e9bc-4226-84ab-3a9ad33410e5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/providers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "providers"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the sellers featured on the website. Same missing-method caveat as the buyers showcase.\n\n**Route:** `GET /api/site/providers`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4dccbc74-f3d5-487d-876f-a3256ec2cf74",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/providers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "providers"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list the sellers featured on the website. Same missing-method caveat as the buyers showcase.\n\n**Route:** `GET /api/site/providers`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b80ebd4e-3b5c-4cc0-a71d-fd9d0c2f60e7",
                            "name": "Marketing — partner companies",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/site/companies",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "site",
                                        "companies"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "Meant to list partner companies. Same missing-method caveat as the two showcases above.\n\n**Route:** `GET /api/site/companies`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                            },
                            "response": [
                                {
                                    "id": "af67d28d-a14d-453f-be17-0a9003937500",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/companies",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "companies"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list partner companies. Same missing-method caveat as the two showcases above.\n\n**Route:** `GET /api/site/companies`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Method App\\\\Http\\\\Controllers\\\\Site\\\\IntroController::getAllCompanies does not exist.\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "0a51c459-26f6-4c1d-9f01-0d61c5feb1bd",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/companies",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "companies"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list partner companies. Same missing-method caveat as the two showcases above.\n\n**Route:** `GET /api/site/companies`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f3a9331d-2bdd-4509-be30-f1ee381b298a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/companies",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "companies"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list partner companies. Same missing-method caveat as the two showcases above.\n\n**Route:** `GET /api/site/companies`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c4b1d82b-eb6a-45de-b794-2400a9516bd1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/site/companies",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "site",
                                                "companies"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "Meant to list partner companies. Same missing-method caveat as the two showcases above.\n\n**Route:** `GET /api/site/companies`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "8c0f0266-de0a-4a97-91a4-1c8ff040794b",
                    "name": "08 - Examples / Variations",
                    "description": "The same public endpoints called the way specific screens call them. Nothing here is a new\r\nroute — these are ready-made variants you can run without editing anything.\r\n\r\n**Produces:** nothing. **Depends on:** `{{country_id}}` for the city lookup.",
                    "item": [
                        {
                            "id": "2cb61205-d1ec-4cc6-aa4e-f47af5075c9e",
                            "name": "Cities — Saudi Arabia only (country 1)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/cities?country_id=1",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "cities"
                                    ],
                                    "query": [
                                        {
                                            "key": "country_id",
                                            "value": "1",
                                            "description": "Saudi Arabia in the seeded data.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "The address picker as it behaves when the user already chose Saudi Arabia: a hard-coded country id instead of the chained variable.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `1` | Saudi Arabia in the seeded data. |"
                            },
                            "response": [
                                {
                                    "id": "6aa45abd-9c10-49ee-ac4d-9e522cf05993",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "1",
                                                    "description": "Saudi Arabia in the seeded data.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The address picker as it behaves when the user already chose Saudi Arabia: a hard-coded country id instead of the chained variable.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `1` | Saudi Arabia in the seeded data. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Riyadh\",\n            \"country_id\": 1\n        }\n    ]\n}"
                                },
                                {
                                    "id": "b929e7d2-b3f3-4123-859f-5a979587eb86",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "1",
                                                    "description": "Saudi Arabia in the seeded data.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The address picker as it behaves when the user already chose Saudi Arabia: a hard-coded country id instead of the chained variable.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `1` | Saudi Arabia in the seeded data. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "93b5cc1b-96e0-4337-a521-3396ab3c460c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "1",
                                                    "description": "Saudi Arabia in the seeded data.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The address picker as it behaves when the user already chose Saudi Arabia: a hard-coded country id instead of the chained variable.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `1` | Saudi Arabia in the seeded data. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "31ce411b-6901-4f47-b6f4-4576cf3864ae",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/cities?country_id=1",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "cities"
                                            ],
                                            "query": [
                                                {
                                                    "key": "country_id",
                                                    "value": "1",
                                                    "description": "Saudi Arabia in the seeded data.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The address picker as it behaves when the user already chose Saudi Arabia: a hard-coded country id instead of the chained variable.\n\n**Route:** `GET /api/cities`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `country_id` | `1` | Saudi Arabia in the seeded data. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "682d8681-e156-4b5f-92b6-054041ce638b",
                            "name": "FAQs — pickup section, 5 per page",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/faqs?type=trip&perPage=5",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "faqs"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "trip",
                                            "description": "Pickup / trip questions.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "5",
                                            "description": "Five per page for the bottom sheet.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "The help centre opened on the \"pickup\" tab with a small page size, the way the mobile FAQ sheet loads it.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `trip` | Pickup / trip questions. |\n| `perPage` | `5` | Five per page for the bottom sheet. |"
                            },
                            "response": [
                                {
                                    "id": "70897056-acf8-4295-9260-0ca0f49acabd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=trip&perPage=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "trip",
                                                    "description": "Pickup / trip questions.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "5",
                                                    "description": "Five per page for the bottom sheet.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The help centre opened on the \"pickup\" tab with a small page size, the way the mobile FAQ sheet loads it.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `trip` | Pickup / trip questions. |\n| `perPage` | `5` | Five per page for the bottom sheet. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "07ce6c79-60a9-4bff-bbd7-6c2271c1749a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=trip&perPage=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "trip",
                                                    "description": "Pickup / trip questions.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "5",
                                                    "description": "Five per page for the bottom sheet.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The help centre opened on the \"pickup\" tab with a small page size, the way the mobile FAQ sheet loads it.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `trip` | Pickup / trip questions. |\n| `perPage` | `5` | Five per page for the bottom sheet. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "adb917d6-8e5e-4ef1-b49c-5a275eea81c3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=trip&perPage=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "trip",
                                                    "description": "Pickup / trip questions.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "5",
                                                    "description": "Five per page for the bottom sheet.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The help centre opened on the \"pickup\" tab with a small page size, the way the mobile FAQ sheet loads it.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `trip` | Pickup / trip questions. |\n| `perPage` | `5` | Five per page for the bottom sheet. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a9ecc76f-7c16-42cc-a923-e59fca97e392",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/faqs?type=trip&perPage=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "faqs"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "trip",
                                                    "description": "Pickup / trip questions.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "5",
                                                    "description": "Five per page for the bottom sheet.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "The help centre opened on the \"pickup\" tab with a small page size, the way the mobile FAQ sheet loads it.\n\n**Route:** `GET /api/faqs`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `trip` | Pickup / trip questions. |\n| `perPage` | `5` | Five per page for the bottom sheet. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "12649034-5a56-4d5b-810f-540e2a62e0da",
                            "name": "Motivational messages — \"you were outbid\"",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=outbid",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "motivational-messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "context",
                                            "value": "outbid",
                                            "description": "Only the outbid nudges.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "description": "What the bidding room asks for the moment a buyer loses the lead.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `outbid` | Only the outbid nudges. |"
                            },
                            "response": [
                                {
                                    "id": "3cce3509-9f15-4b80-ba66-ae1a7b16e530",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=outbid",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "outbid",
                                                    "description": "Only the outbid nudges.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "What the bidding room asks for the moment a buyer loses the lead.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `outbid` | Only the outbid nudges. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"contexts\": [\n            \"bidding\",\n            \"outbid\",\n            \"leading\"\n        ],\n        \"messages\": [\n            {\n                \"id\": 4,\n                \"context\": \"outbid\",\n                \"message\": \"Someone just passed you — raise your bid.\",\n                \"sort_order\": 1\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "af54c8c2-b8f5-4109-ba35-60f14641008b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=outbid",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "outbid",
                                                    "description": "Only the outbid nudges.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "What the bidding room asks for the moment a buyer loses the lead.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `outbid` | Only the outbid nudges. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ec4b3eac-31ad-4310-ab95-9b3db54f37db",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=outbid",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "outbid",
                                                    "description": "Only the outbid nudges.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "What the bidding room asks for the moment a buyer loses the lead.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `outbid` | Only the outbid nudges. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "491912ee-549d-4f5f-b156-265cad190b1d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/motivational-messages?context=outbid",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "motivational-messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "context",
                                                    "value": "outbid",
                                                    "description": "Only the outbid nudges.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "description": "What the bidding room asks for the moment a buyer loses the lead.\n\n**Route:** `GET /api/motivational-messages`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `context` | `outbid` | Only the outbid nudges. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e7eeae72-fc34-4b9e-b89a-caba063b01b8",
                            "name": "Contact — report a payment problem",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "contact",
                                        "store"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Faisal Al-Harbi",
                                            "type": "text",
                                            "description": "required|string|max:50",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|string|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|string|min:8|max:15",
                                            "disabled": false
                                        },
                                        {
                                            "key": "message",
                                            "value": "My wallet was debited twice for order 1043 and only one order was created.",
                                            "type": "text",
                                            "description": "required|string",
                                            "disabled": false
                                        },
                                        {
                                            "key": "type",
                                            "value": "payment_issue",
                                            "type": "text",
                                            "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The contact form filled in for a payment complaint instead of a general question, which is the branch that returns the \"complaint submitted\" message.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                            },
                            "response": [
                                {
                                    "id": "fdc95d29-df58-4d13-abf9-c6b3f066faf2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "My wallet was debited twice for order 1043 and only one order was created.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "payment_issue",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The contact form filled in for a payment complaint instead of a general question, which is the branch that returns the \"complaint submitted\" message.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Complaint submitted successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "abadb4aa-c2a7-45da-a03e-bae41acae4d2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "My wallet was debited twice for order 1043 and only one order was created.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "payment_issue",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The contact form filled in for a payment complaint instead of a general question, which is the branch that returns the \"complaint submitted\" message.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5dedd656-7b3c-4330-88db-24c3e6b6b7cd",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "My wallet was debited twice for order 1043 and only one order was created.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "payment_issue",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The contact form filled in for a payment complaint instead of a general question, which is the branch that returns the \"complaint submitted\" message.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1073a332-a459-4eb2-b780-ee7746cf6dd0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/contact/store",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "contact",
                                                "store"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|string|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|max:15",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "message",
                                                    "value": "My wallet was debited twice for order 1043 and only one order was created.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "payment_issue",
                                                    "type": "text",
                                                    "description": "required|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The contact form filled in for a payment complaint instead of a general question, which is the branch that returns the \"complaint submitted\" message.\n\n**Route:** `POST /api/contact/store`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · max:50 |\n| `country_code` | required · string · max:10 |\n| `phone` | required · string · min:8 · max:15 |\n| `message` | required · string |\n| `type` | required · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                }
            ],
            "auth": {
                "type": "noauth"
            }
        },
        {
            "id": "6b448dd9-0c88-49b2-bd98-b1a093f8d42b",
            "name": "02 - Client (Buyer)",
            "description": "The buyer side of ReValue, in the order a real buyer lives it: sign in, finish the profile,\r\nbrowse material, join an auction or negotiate a direct offer, pay through the escrow wallet,\r\nmeet the seller, confirm receipt and rate them.\r\n\r\n**Start here:** run `01 - Authentication` top to bottom. `Verify login` saves `{{client_token}}`\r\nand `{{access_token}}`, and every folder below inherits that token automatically.\r\n\r\n**Depends on:** `{{city_id}}`, `{{category_id}}`, `{{condition_id}}` and `{{unit_id}}` from the\r\nPublic folder. **Produces:** `{{client_token}}`, `{{address_id}}`, `{{listing_id}}`,\r\n`{{conversation_id}}`, `{{order_id}}`, `{{complain_id}}`, `{{withdrawal_id}}`.\r\n\r\nThe OTP on local and staging builds is `1234` — it is already filled in as `{{otp_code}}`.",
            "item": [
                {
                    "id": "400a257f-ba84-4abf-890b-13260cd48263",
                    "name": "01 - Authentication",
                    "description": "Phone-first sign up and sign in. A buyer registers with a phone number, activates it with the\r\nSMS code, then logs in and confirms a second code.\r\n\r\n**Produces:** `{{client_token}}` and `{{access_token}}` (from Activate and Verify login).\r\n**Depends on:** nothing. Sign-out lives in the last cycle so a Runner pass does not cut itself off.",
                    "item": [
                        {
                            "id": "f6ac2cb8-55d4-43e2-a805-bb5181fd2645",
                            "name": "1. Register with a phone number",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"needActive\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "register"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:2,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "9bd76983-61ec-4c16-9e1e-653d3aabe0fc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needActive\",\n    \"msg\": \"Activation code sent successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\",\n        \"is_active\": false\n    }\n}"
                                },
                                {
                                    "id": "99ff8b61-9460-4c0e-880c-0f8d3664e2f7",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needActive\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\",\n        \"is_active\": false\n    }\n}"
                                },
                                {
                                    "id": "122ccb8e-a1f0-4c63-ae0d-37ff3bfe9773",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ddb10ac4-e6c3-4fcb-867e-5042f9691373",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f072a2be-d530-4c96-8422-defc89837671",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the buyer account and texts a 4-digit activation code. The account exists but stays inactive until the next request.\n\n**Route:** `POST /api/client/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "6959a6ae-0867-40c3-b63d-d6512c45abea",
                            "name": "2. Activate with the SMS code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"needs_acceptance\",\"needApproval\",\"profileNotCompleted\",\"register_type\",\"register_nafaz\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"client_token\", [\"data.token\"]);",
                                            "remember(\"access_token\", [\"data.token\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "activate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PUT",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|digits:4",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                            },
                            "response": [
                                {
                                    "id": "6d852c4f-478c-45a0-9159-bf082019aeb5",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"account activated successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"name\": null,\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\",\n        \"is_active\": true,\n        \"is_completed\": false,\n        \"token\": \"31|sanctumTokenExampleForPostman\"\n    }\n}"
                                },
                                {
                                    "id": "d733ad1c-9642-4377-b0e1-a439164ba4f6",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "52ff12bc-8425-4a31-852a-a41d35b82b3a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "eac3e5d6-bb4c-4325-91d6-24382d97d54d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6dae0361-dc95-4cb4-90a7-33471263a2e5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code from the registration SMS and hands back the first Sanctum token, so a fresh account can go straight into the app.\n\n**Route:** `PUT /api/client/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "38f8f8d7-cf38-4e4c-b8b6-baf904708e53",
                            "name": "3. Resend the activation code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/resend-code",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "resend-code"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends the activation SMS again when the first one never arrived.\n\n**Route:** `POST /api/client/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                            },
                            "response": [
                                {
                                    "id": "74c2dfda-bc34-4529-aade-163b537a46d0",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again when the first one never arrived.\n\n**Route:** `POST /api/client/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\"\n    }\n}"
                                },
                                {
                                    "id": "fe8aaf0b-05d7-4c0a-bc86-8228d7918a93",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again when the first one never arrived.\n\n**Route:** `POST /api/client/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "52591124-e7e0-427c-9e1c-6ae43a16e1f3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again when the first one never arrived.\n\n**Route:** `POST /api/client/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8d9722e4-42d7-4f65-989a-bbfa0afbba33",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again when the first one never arrived.\n\n**Route:** `POST /api/client/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ee273424-6865-4138-80ab-5c000a91f767",
                            "name": "4. Login (asks for an OTP)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"needVerification\",\"fail\",\"blocked\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/login",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "login"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Starts a sign-in. No password is involved: ReValue texts a one-time code and answers with `key=needVerification`.\n\n**Route:** `POST /api/client/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_type` | required · in:ios,android,web |"
                            },
                            "response": [
                                {
                                    "id": "b0a0b270-e76c-488d-b880-4b00b9dda1a8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts a sign-in. No password is involved: ReValue texts a one-time code and answers with `key=needVerification`.\n\n**Route:** `POST /api/client/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_type` | required · in:ios,android,web |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needVerification\",\n    \"msg\": \"Code sent to phone number\",\n    \"data\": {\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\"\n    }\n}"
                                },
                                {
                                    "id": "cf82155c-8b42-4fa3-8c2a-310b6577b914",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts a sign-in. No password is involved: ReValue texts a one-time code and answers with `key=needVerification`.\n\n**Route:** `POST /api/client/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_type` | required · in:ios,android,web |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ],\n        \"device_type\": [\n            \"The device type field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1d3dc187-d620-4fa3-9407-3fc0723ebbed",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts a sign-in. No password is involved: ReValue texts a one-time code and answers with `key=needVerification`.\n\n**Route:** `POST /api/client/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_type` | required · in:ios,android,web |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "972a8074-3f3b-4f10-9e45-c787525f339e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts a sign-in. No password is involved: ReValue texts a one-time code and answers with `key=needVerification`.\n\n**Route:** `POST /api/client/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `device_type` | required · in:ios,android,web |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0beefd41-3d45-4861-aef2-d7b553dd9e80",
                            "name": "5. Verify login and get the token",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"needs_acceptance\",\"needApproval\",\"profileNotCompleted\",\"register_type\",\"register_nafaz\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"client_token\", [\"data.token\"]);",
                                            "remember(\"access_token\", [\"data.token\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/verify-login",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "verify-login"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|digits:4",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        },
                                        {
                                            "key": "mac_address",
                                            "value": "{{mac_address}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "preferred_locale",
                                            "value": "{{lang}}",
                                            "type": "text",
                                            "description": "required|in:ar,en",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the sign-in code. On success the Sanctum token is written straight into {{client_token}} and {{access_token}}, so nothing has to be copied by hand.\n\n**Route:** `POST /api/client/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n| `uuid` | sometimes · string |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                            },
                            "response": [
                                {
                                    "id": "e4d7d3e6-c73c-44de-8c58-6c2bf913be99",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code. On success the Sanctum token is written straight into {{client_token}} and {{access_token}}, so nothing has to be copied by hand.\n\n**Route:** `POST /api/client/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n| `uuid` | sometimes · string |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Signed in successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"name\": \"Faisal Al-Harbi\",\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\",\n        \"image\": \"https://revalue.test/storage/clients/12.jpg\",\n        \"is_completed\": true,\n        \"token\": \"32|sanctumTokenExampleForPostman\"\n    }\n}"
                                },
                                {
                                    "id": "14f72fdd-ae31-404d-94e9-33de4a099952",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code. On success the Sanctum token is written straight into {{client_token}} and {{access_token}}, so nothing has to be copied by hand.\n\n**Route:** `POST /api/client/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n| `uuid` | sometimes · string |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ],\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3e3ad2eb-d4a2-48ab-9637-9f7c42edd62b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code. On success the Sanctum token is written straight into {{client_token}} and {{access_token}}, so nothing has to be copied by hand.\n\n**Route:** `POST /api/client/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n| `uuid` | sometimes · string |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8646d99b-58ae-470b-8008-c8d6279aef13",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code. On success the Sanctum token is written straight into {{client_token}} and {{access_token}}, so nothing has to be copied by hand.\n\n**Route:** `POST /api/client/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n| `uuid` | sometimes · string |\n\n**Saves variables:** `{{client_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5ae712e2-ca28-4c05-8cba-90fecce504a8",
                            "name": "6. Forgot password — send code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/password/forget",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "password",
                                        "forget"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Texts a reset code to a registered buyer phone.\n\n**Route:** `POST /api/client/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                            },
                            "response": [
                                {
                                    "id": "8c2cb287-55da-4e53-b92a-248797866fe8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a reset code to a registered buyer phone.\n\n**Route:** `POST /api/client/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code sent to phone number\",\n    \"data\": {\n        \"phone\": \"512345678\"\n    }\n}"
                                },
                                {
                                    "id": "36cff742-3364-43a1-9f32-5d549a1cf28a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a reset code to a registered buyer phone.\n\n**Route:** `POST /api/client/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d44b5044-1e39-49d0-b841-fbae9b71a1df",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a reset code to a registered buyer phone.\n\n**Route:** `POST /api/client/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "dc24ae26-fe58-446d-acf2-63796459b0b0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a reset code to a registered buyer phone.\n\n**Route:** `POST /api/client/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2dabe967-9c25-463f-8a20-23494a9001a7",
                            "name": "7. Forgot password — check the code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/password/check-code",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "password",
                                        "check-code"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Validates the reset code before the app shows the new-password screen.\n\n**Route:** `POST /api/client/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                            },
                            "response": [
                                {
                                    "id": "2b60ac7c-722f-449b-8bf4-ae52bb02b11b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the reset code before the app shows the new-password screen.\n\n**Route:** `POST /api/client/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code verified successfully\",\n    \"data\": {\n        \"phone\": \"512345678\"\n    }\n}"
                                },
                                {
                                    "id": "7836b4f3-aa2c-4238-90f9-eb838a7ca8ff",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the reset code before the app shows the new-password screen.\n\n**Route:** `POST /api/client/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2805b4c0-4b6d-4381-9258-70b4ba5f87da",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the reset code before the app shows the new-password screen.\n\n**Route:** `POST /api/client/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5b260dd1-cd6c-4c27-8be2-3520ad8fbdd0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the reset code before the app shows the new-password screen.\n\n**Route:** `POST /api/client/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:clients,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "876835c0-1506-488e-afe4-96d8849777f1",
                            "name": "8. Forgot password — set a new one",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/password/reset",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "password",
                                        "reset"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|exists:clients,country_code",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_phone}}",
                                            "type": "text",
                                            "description": "required|exists:clients,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "password",
                                            "value": "{{client_new_password}}",
                                            "type": "text",
                                            "description": "required|string|min:8|letters|numbers",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stores the new password once the reset code checks out.\n\n**Route:** `POST /api/client/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · exists:clients,country_code |\n| `phone` | required · exists:clients,phone |\n| `password` | required · string · min:8 · letters · numbers |"
                            },
                            "response": [
                                {
                                    "id": "edac7eec-3f63-439c-9adc-4925aca298c1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,country_code",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the new password once the reset code checks out.\n\n**Route:** `POST /api/client/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · exists:clients,country_code |\n| `phone` | required · exists:clients,phone |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password changed successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "3062899a-b04e-4bec-a679-e706ffbf6157",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,country_code",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the new password once the reset code checks out.\n\n**Route:** `POST /api/client/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · exists:clients,country_code |\n| `phone` | required · exists:clients,phone |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1b7f4fd1-6d7b-42d9-853b-7164a8fae20a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,country_code",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the new password once the reset code checks out.\n\n**Route:** `POST /api/client/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · exists:clients,country_code |\n| `phone` | required · exists:clients,phone |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "35aa52ba-6102-46e3-975d-bd01409605cf",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,country_code",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_phone}}",
                                                    "type": "text",
                                                    "description": "required|exists:clients,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the new password once the reset code checks out.\n\n**Route:** `POST /api/client/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · max:10 |\n| `country_code` | required · exists:clients,country_code |\n| `phone` | required · exists:clients,phone |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "8c627208-2b32-4ac4-a201-4da25ce75599",
                    "name": "02 - Profile & Account Setup",
                    "description": "What a buyer does right after the first sign-in: fill in the profile (ReValue blocks the\r\nmarketplace until this is done), then manage the picture, password, language and email.\r\n\r\n**Depends on:** `{{client_token}}` and `{{city_id}}`. **Produces:** nothing new — but until\r\n\"Complete profile\" succeeds, marketplace endpoints answer `key=profileNotCompleted`.",
                    "item": [
                        {
                            "id": "744bf985-3f7d-4165-9d24-eb08a8633ab5",
                            "name": "My profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "profile"
                                    ]
                                },
                                "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "2fd236cd-c1ba-4141-8e0d-6ca4e496a9cc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 12,\n        \"name\": \"Faisal Al-Harbi\",\n        \"phone\": \"512345678\",\n        \"country_code\": \"966\",\n        \"email\": \"faisal.buyer@revalue.test\",\n        \"city\": {\n            \"id\": 1,\n            \"name\": \"Riyadh\"\n        },\n        \"image\": \"https://revalue.test/storage/clients/12.jpg\",\n        \"is_completed\": true,\n        \"is_notify\": true,\n        \"rating\": 4.8\n    }\n}"
                                },
                                {
                                    "id": "6f95ae52-65f5-4139-a368-f96427582b19",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "157876df-7a37-4863-a83d-9104d4eaa0a5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "daaf835f-cd2e-462a-a1c6-abf5c736630c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b90993a2-2352-4593-b239-3cc29a1a5f75",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile"
                                            ]
                                        },
                                        "description": "Everything the account screen shows: name, photo, phone, city, wallet balance and rating.\n\n**Route:** `GET /api/client/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5a0e31f1-7aef-4ee3-9b9f-00d92aa8e3ae",
                            "name": "Complete my profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "profile",
                                        "complete"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Faisal Al-Harbi",
                                            "type": "text",
                                            "description": "required|string|min:2|max:50",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "map_desc",
                                            "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "national_id",
                                            "value": "{{client_national_id}}",
                                            "type": "text",
                                            "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                            "disabled": false
                                        },
                                        {
                                            "key": "image",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|max:5120",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                            },
                            "response": [
                                {
                                    "id": "1ce93406-ebab-4ae8-a218-9fa840f1cc2e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Profile completed successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"name\": \"Faisal Al-Harbi\",\n        \"is_completed\": true\n    }\n}"
                                },
                                {
                                    "id": "2456a3f4-72cc-42c7-b562-2cf06512d763",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"city_id\": [\n            \"The city id field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "db0b786c-0e8c-4795-bbeb-59427053558a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5b5a7574-6fa2-4d81-a893-2a73f4c581ba",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "59366fc1-142c-464d-98f0-640706e8ece3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Olaya, Riyadh — near Kingdom Tower",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The one-time form after activation: real name, city, map pin and national ID. Attach `image` to set a profile photo at the same time.\n\n**Route:** `POST /api/client/profile/complete`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:50 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:clients |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5ea4a2b3-b325-4809-88e6-1ee3156987ea",
                            "name": "Update my profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "update",
                                        "profile"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Faisal A. Al-Harbi",
                                            "type": "text",
                                            "description": "sometimes|string|min:2|max:50",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "sometimes|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.711667",
                                            "type": "text",
                                            "description": "sometimes|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.724444",
                                            "type": "text",
                                            "description": "sometimes|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "map_desc",
                                            "value": "King Fahd district, Riyadh",
                                            "type": "text",
                                            "description": "sometimes|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "email",
                                            "value": "{{client_email}}",
                                            "type": "text",
                                            "description": "sometimes|email|unique:clients",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "sometimes|numeric|digits_between:2,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "national_id",
                                            "value": "{{client_national_id}}",
                                            "type": "text",
                                            "description": "sometimes|Saudi national id|unique:clients",
                                            "disabled": false
                                        },
                                        {
                                            "key": "image",
                                            "type": "file",
                                            "src": [],
                                            "description": "sometimes|nullable|image|max:5120",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                            },
                            "response": [
                                {
                                    "id": "4fbd5dad-6da7-482d-a1d4-1512348bfa70",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal A. Al-Harbi",
                                                    "type": "text",
                                                    "description": "sometimes|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.711667",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.724444",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "King Fahd district, Riyadh",
                                                    "type": "text",
                                                    "description": "sometimes|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "sometimes|email|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "sometimes|nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"name\": \"Faisal A. Al-Harbi\",\n        \"city\": {\n            \"id\": 1,\n            \"name\": \"Riyadh\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "8f6f0197-124b-4a04-a558-a8e925ad5e93",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal A. Al-Harbi",
                                                    "type": "text",
                                                    "description": "sometimes|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.711667",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.724444",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "King Fahd district, Riyadh",
                                                    "type": "text",
                                                    "description": "sometimes|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "sometimes|email|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "sometimes|nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6679505b-a0af-43ee-8c9e-0b9071803552",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal A. Al-Harbi",
                                                    "type": "text",
                                                    "description": "sometimes|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.711667",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.724444",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "King Fahd district, Riyadh",
                                                    "type": "text",
                                                    "description": "sometimes|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "sometimes|email|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "sometimes|nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e70fcdd3-e668-4ec1-91b5-b8bd34acaa02",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal A. Al-Harbi",
                                                    "type": "text",
                                                    "description": "sometimes|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.711667",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.724444",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "King Fahd district, Riyadh",
                                                    "type": "text",
                                                    "description": "sometimes|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "sometimes|email|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "sometimes|nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "10a5505a-11aa-4e58-aa70-02942a2b76c6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Faisal A. Al-Harbi",
                                                    "type": "text",
                                                    "description": "sometimes|string|min:2|max:50",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.711667",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.724444",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "King Fahd district, Riyadh",
                                                    "type": "text",
                                                    "description": "sometimes|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "sometimes|email|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{client_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:clients",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "sometimes|nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the profile. Every field is optional — send only what changed.\n\n**Route:** `POST /api/client/update/profile`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `image` | sometimes · nullable · image · max:5120 |\n| `name` | sometimes · string · min:2 · max:50 |\n| `country_code` | sometimes · numeric · digits_between:2,5 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `lat` | sometimes · numeric · between:-90,90 |\n| `lng` | sometimes · numeric · between:-180,180 |\n| `map_desc` | sometimes · string · max:500 |\n| `national_id` | sometimes · Saudi national id · unique:clients |\n| `email` | sometimes · email · unique:clients |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3abad516-9bb6-47ac-8bad-d4cd619f9d9d",
                            "name": "Remove my profile photo",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "profile",
                                        "image"
                                    ]
                                },
                                "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "ff339873-03d0-49a6-9a8d-b4e73420aaad",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"id\": 12,\n        \"image\": null\n    }\n}"
                                },
                                {
                                    "id": "8a768535-d048-4358-8ea3-0018205728e4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "60c322a4-6a12-47cf-aa81-18fca027b7e9",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c8728f2d-a319-42ef-bb41-3088b43b2a91",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6c8f26b1-ca90-4054-ad9f-1ca6be4373c0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the avatar and falls back to the default placeholder.\n\n**Route:** `DELETE /api/client/profile/image`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f45d2baa-aa72-4cd7-9125-297351d1b971",
                            "name": "Check my current password",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "check-password"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "password",
                                            "value": "{{client_password}}",
                                            "type": "text",
                                            "description": "required — must match the password on file",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                            },
                            "response": [
                                {
                                    "id": "7a1e70eb-4ced-4a1f-aa3d-56cf9cb4693b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password verified successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "f2b47f5e-cf98-4799-9cd3-2af10fdb5c4b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The password field is required.\",\n    \"errors\": {\n        \"password\": [\n            \"The password field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fcb7eb29-0c65-4cdb-a163-f547d5e291a5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d3526c95-3fde-40ba-a17b-37f521c6caa8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e9b0170b-43ab-43f6-a3c5-28a27e36038f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens (change phone, delete account) open up.\n\n**Route:** `POST /api/client/check-password`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5a70d441-2ae4-442b-9a88-386d67a8e68e",
                            "name": "Change my password",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "update-password"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "old_password",
                                            "value": "{{client_password}}",
                                            "type": "text",
                                            "description": "required|min:6|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "password",
                                            "value": "{{client_new_password}}",
                                            "type": "text",
                                            "description": "required|string|min:8|letters|numbers",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                            },
                            "response": [
                                {
                                    "id": "7ed5e2d2-bcaa-415a-9fe7-17ad4d829cb1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password changed successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "43702bff-f166-4a70-84fc-06c3019f1394",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The old password field is required.\",\n    \"errors\": {\n        \"old_password\": [\n            \"The old password field is required.\"\n        ],\n        \"password\": [\n            \"The password field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8078f811-8cee-41d2-a387-fc4f90a1074e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "11f595cf-aa5c-4359-bffc-86ec356a85d4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4da04053-485c-4aec-ab6e-01254e1bcc49",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{client_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{client_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password. The new one must differ from the current one.\n\n**Route:** `PATCH /api/client/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f94691f8-0021-42e0-bb8b-a7251a2625cf",
                            "name": "Change app language",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "change-lang"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        },
                                        {
                                            "key": "mac_address",
                                            "value": "{{mac_address}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "preferred_locale",
                                            "value": "ar",
                                            "type": "text",
                                            "description": "required|in:ar,en",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                            },
                            "response": [
                                {
                                    "id": "a4547920-35d4-4cb6-99b1-03a531c65929",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"preferred_locale\": \"ar\"\n    }\n}"
                                },
                                {
                                    "id": "8994ac41-ca7e-4186-8955-052e4d79783d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The device id field is required.\",\n    \"errors\": {\n        \"device_id\": [\n            \"The device id field is required.\"\n        ],\n        \"device_type\": [\n            \"The device type field is required.\"\n        ],\n        \"mac_address\": [\n            \"The mac address field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2ff445c7-3ef0-43a4-bbb6-a7987ed26e76",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0cff2828-5128-453c-a0c9-d0a12f761a12",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "fa6ace31-eb71-47ae-ac8f-f3cfb63e96cf",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so push notifications and SMS arrive in the right one.\n\n**Route:** `PATCH /api/client/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "70a3b71a-fd20-44a8-b586-38beaf403677",
                            "name": "Message support",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "contact"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "message",
                                            "value": "The bidding room stopped refreshing during auction 1042.",
                                            "type": "text",
                                            "description": "required|string",
                                            "disabled": false
                                        },
                                        {
                                            "key": "type",
                                            "value": "general_inquiry",
                                            "type": "text",
                                            "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[1]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                            },
                            "response": [
                                {
                                    "id": "0ca9d4ea-0bf3-462f-940f-9a0eca76365a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Your message was sent successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "8adde725-9117-4d13-a48a-d00ef7c88d8a",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "61e71b66-277f-47ad-81c8-65096bf4e8d4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The message field is required.\",\n    \"errors\": {\n        \"message\": [\n            \"The message field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bcf21bb1-1b1e-4627-9085-286eb6f84455",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ffa3eedc-c6cf-42ca-a2b9-4fe55ccdfcdd",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a614bd21-76fb-4f53-b0d7-c68c97e5a877",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "The bidding room stopped refreshing during auction 1042.",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "general_inquiry",
                                                    "type": "text",
                                                    "description": "sometimes|in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from inside the app. Attach up to a few screenshots with `images[0]`, `images[1]`.\n\n**Route:** `POST /api/client/contact`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |\n| `type` | sometimes · in:trip_issue,payment_issue,damaged_scooter,suggestion,general_inquiry |\n| `images` | nullable · array |\n| `images.*` | nullable · image · mimes:jpeg,png,jpg,gif,svg · max:10000 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0efab966-47bf-401c-be34-c2ed85704822",
                            "name": "Add or change my email",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "email",
                                        "update"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "{{client_email}}",
                                            "type": "text",
                                            "description": "required|email|unique:clients",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                            },
                            "response": [
                                {
                                    "id": "771843d3-39d3-464f-ae15-e1442929334d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "update"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email|unique:clients",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Confirmation code sent to your email\",\n    \"data\": {\n        \"email\": \"faisal.buyer@revalue.test\"\n    }\n}"
                                },
                                {
                                    "id": "bc07b37f-5b81-45d3-a3c3-e6d467663bdf",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "update"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email|unique:clients",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "be7abf16-44af-4d6d-887e-f2eed98819f1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "update"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email|unique:clients",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "17e56efe-7a73-487e-a568-5fe0f400baca",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "update"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email|unique:clients",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "9e6be056-1239-4842-ab7a-5bd3ee43aa46",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/update",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "update"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email|unique:clients",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores a new email address and sends a confirmation code to it. The address only becomes active after the next request.\n\n**Route:** `POST /api/client/email/update`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · unique:clients |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0622ef7c-f0a9-44c0-99a2-f772bcc668d6",
                            "name": "Verify my email",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "email",
                                        "verify"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "{{client_email}}",
                                            "type": "text",
                                            "description": "required|email",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                            },
                            "response": [
                                {
                                    "id": "4377781e-84a1-4077-9a0f-670f5d4faf12",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"email\": \"faisal.buyer@revalue.test\",\n        \"email_verified_at\": \"2026-08-23T09:12:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "4c72c6e0-2688-4cf4-8e71-df890c48883f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ],\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8a13945e-d330-4934-87df-93cb97f31d82",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ca213371-0a58-4c09-aaab-c0dbabf806ea",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "152056bf-808f-48d5-93ff-bfbf7778d8b2",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/email/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "email",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{client_email}}",
                                                    "type": "text",
                                                    "description": "required|email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the code that was emailed and marks the address as verified.\n\n**Route:** `POST /api/client/email/verify`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email |\n| `code` | required |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "fb1671fd-33e3-4c5c-9972-f92eddabed31",
                    "name": "03 - Phone Number Change",
                    "description": "Moving an account to a new SIM. ReValue proves the old number first, then the new one, so a\r\nstolen phone cannot be moved away silently.\r\n\r\n**Depends on:** `{{client_token}}`, `{{client_new_phone}}`. **Produces:** nothing —\r\nbut on success `{{client_phone}}` in your environment is no longer the account's number.",
                    "item": [
                        {
                            "id": "c34472e4-c303-49e4-a45a-34f39b2c2474",
                            "name": "1. Send a code to my current phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "send-code-to-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "97c7ee6b-5674-402c-92d8-d1a6b9a379c9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code sent to phone number\",\n    \"data\": {\n        \"phone\": \"512345678\"\n    }\n}"
                                },
                                {
                                    "id": "0d2ef2e6-3d4d-40f1-971a-cfb2793ff04e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b71eb7ea-21a4-42fe-907a-361a8b37eba0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9e937735-760d-4e10-9500-c09bf2e5b261",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "234cfdc6-cea6-41be-b353-9848235ac836",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number already on the account. No body needed — the signed-in account decides where it goes.\n\n**Route:** `POST /api/client/send-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1d445fde-9b79-4078-aa6d-6eee8a874f17",
                            "name": "2. Resend that code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "resend-code-to-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "751e8aba-d72d-462b-bffa-bf36b0333c53",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"512345678\"\n    }\n}"
                                },
                                {
                                    "id": "1a6ed2fd-5f99-477e-81b9-1575ae763a7f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f63da6bd-7e37-45be-91a6-64cfe9338248",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a53c686c-2832-4f4b-bd20-ad2802ef54f2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "98480779-b8d0-4f01-88ba-dd8aa46f2cf3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again if the first SMS was lost.\n\n**Route:** `POST /api/client/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1645bd3e-6ff8-4ea3-84d2-b6e76db8f3e6",
                            "name": "3. Confirm the current phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "verify-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|string|digits_between:4,6",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                            },
                            "response": [
                                {
                                    "id": "f4fbed27-e62f-4082-8851-cd66c12eeb99",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Safety code verified successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "4c06ab86-7625-4787-bb69-af394ab90c4f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fa418456-0865-4cd5-83f4-54f2d681286f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8683e8c5-d2c2-4723-b0f3-55354d972c63",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "769ed97e-a3f0-4bce-804a-95c05305e2d6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the buyer still holds the old SIM before a new number can be entered.\n\n**Route:** `POST /api/client/verify-old-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4a1e3cc0-fffe-4bee-985d-26bf9cb1826d",
                            "name": "4. Send a code to the new phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "send-code-to-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "1c940c8a-a9f7-4f3e-8315-ebeffc236b54",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code sent to new phone number\",\n    \"data\": {\n        \"phone\": \"512345670\"\n    }\n}"
                                },
                                {
                                    "id": "601f011e-ed3a-4616-8b38-be9f0524b215",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1fe9f07f-dc03-48f0-bdcc-90b827dae726",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0793c4f8-87f7-4aec-bc74-114ebf4ce75f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "13eda2a2-c811-43eb-9463-502c52b7aae8",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the number the buyer wants to move to. It must not belong to another account.\n\n**Route:** `POST /api/client/send-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0be4c937-87c7-4f88-9e0f-d1f174180b30",
                            "name": "5. Resend the new-phone code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "resend-code-to-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "ad770e29-c946-4c59-a8cb-7475dd41e25c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"512345670\"\n    }\n}"
                                },
                                {
                                    "id": "f3637fe9-b35b-44f3-8d70-66d4c3e42b25",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5c55e076-7535-4b18-a303-a2dc4efc65bc",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "514bc5a4-f724-474a-aeb9-fd93a09eff39",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "08b9f7b0-bb25-441a-a36b-d529ca5c1de3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/client/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "37c9d035-af46-46ee-8700-be050edfceca",
                            "name": "6. Confirm the new phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "verify-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|string|digits_between:4,6",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{client_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "d0642d04-6695-4cf6-b76d-cdeef5f19125",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Phone number updated successfully\",\n    \"data\": {\n        \"phone\": \"512345670\",\n        \"country_code\": \"966\"\n    }\n}"
                                },
                                {
                                    "id": "68544652-b745-4147-a2b8-fc6a79b1f1e0",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bc5f2255-5e32-406d-a0c4-3f058751d6f5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9ff0f8a7-3b8e-4c8c-8349-398820e62b28",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "7220992a-e60b-48ca-99df-e44c04065409",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{client_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:clients,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the account now signs in with the new number.\n\n**Route:** `POST /api/client/verify-new-phone`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:clients,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "9c7fbad0-a125-4969-acb8-2c7dec46c542",
                    "name": "04 - Delivery Addresses",
                    "description": "The address book used when a buyer arranges pickup of a lot.\r\n\r\n**Produces:** `{{address_id}}` (from Create), reused by update, set-default and delete.\r\n**Depends on:** `{{client_token}}`.",
                    "item": [
                        {
                            "id": "17b24d17-173c-4021-87f4-3074fc043062",
                            "name": "My addresses",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"address_id\", [\"data.0.id\",\"data.data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses"
                                    ]
                                },
                                "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "3ce865e7-a3b2-4bde-bc01-b484dd62d94e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 5,\n            \"label\": \"home\",\n            \"address\": \"Al Olaya, Riyadh\",\n            \"lat\": 24.774265,\n            \"lng\": 46.738586,\n            \"is_default\": true\n        }\n    ]\n}"
                                },
                                {
                                    "id": "cf9ce9d5-60e5-4f79-af1c-d8a3b6132d37",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ccb860d1-1d04-41bb-8839-b7a9b2dfe202",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0afc59e6-b200-4e43-93f6-a4865ad1ce5c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "7f38bf1f-bec8-4ae7-b35e-36b2030cadd5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved addresses, default one first.\n\n**Route:** `GET /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5642c7ef-d4a8-479a-9d88-1964ab5957bf",
                            "name": "Add an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"address_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "label",
                                            "value": "home",
                                            "type": "text",
                                            "description": "required|in:home,work,other",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "address",
                                            "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "is_default",
                                            "value": "1",
                                            "type": "text",
                                            "description": "nullable|boolean",
                                            "disabled": false
                                        },
                                        {
                                            "key": "save_address",
                                            "value": "1",
                                            "type": "text",
                                            "description": "nullable|boolean — 0 previews without saving",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "56890a9c-9c6f-468f-ad40-2d3984a6a729",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 6,\n        \"label\": \"home\",\n        \"address\": \"Al Olaya district, Riyadh — building 12, gate 2\",\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "95eee81c-82a3-444a-869f-8d898306faf4",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 6,\n        \"label\": \"home\",\n        \"address\": \"Al Olaya district, Riyadh — building 12, gate 2\",\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "d46c7ecd-be54-48f4-86c5-ab01e7134140",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The label field is required.\",\n    \"errors\": {\n        \"label\": [\n            \"The label field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ],\n        \"lng\": [\n            \"The lng field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b7ea76ea-4dc7-44db-8287-26562b613c90",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "05f103ea-3493-4eaf-9dc3-a3d86ef022b6",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "5c086379-72ba-4fde-be3f-ef7904be6d71",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "home",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Olaya district, Riyadh — building 12, gate 2",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean — 0 previews without saving",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup/delivery address. Send `save_address=0` to only validate and preview it without storing.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean — 0 previews without saving |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b5d16b0d-a348-4c67-802b-15ec49714a3f",
                            "name": "Edit an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses",
                                        "{{address_id}}"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PUT",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "label",
                                            "value": "work",
                                            "type": "text",
                                            "description": "sometimes|required|in:home,work,other",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "sometimes|required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "sometimes|required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "address",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8",
                                            "type": "text",
                                            "description": "sometimes|required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "is_default",
                                            "value": "0",
                                            "type": "text",
                                            "description": "nullable|boolean",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "77e99a2f-c601-4dbc-99fd-7e9b5552792f",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 6,\n        \"label\": \"work\",\n        \"address\": \"Al Sulay industrial area, Riyadh — yard 8\"\n    }\n}"
                                },
                                {
                                    "id": "4d3c9d8d-da4a-481e-b595-7bb3e7f8f4b8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The label field is required.\",\n    \"errors\": {\n        \"label\": [\n            \"The label field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ],\n        \"lng\": [\n            \"The lng field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5fbc7799-92f4-48e8-a6f4-86a1e87d66ae",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6f75a72e-38f5-4d29-936a-e274b1783043",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3c58ee53-7d18-43d7-b0f1-6c859c8c61e7",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates the saved address {{address_id}}. Send only the fields that changed.\n\n**Route:** `PUT /api/client/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "020735bc-0835-4e79-b175-ad06295d728c",
                            "name": "Make this the default address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses",
                                        "{{address_id}}",
                                        "default"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "dbd19b2a-02cb-4efb-b9eb-199b6da2e70c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 6,\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "d54cc40d-a1e9-44a2-8b9c-0735604c06f8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5adf49d3-e7fe-47b4-bdad-d02f68c94551",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b156ea65-df20-45a8-a56e-eccb89e93ff9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "19ee13e4-b20e-46dc-8571-83fac43c8c4b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the default and clears the flag on the others.\n\n**Route:** `PATCH /api/client/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "42d0bdd4-9d49-4255-bd1b-33130320b87a",
                            "name": "Delete an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses",
                                        "{{address_id}}"
                                    ]
                                },
                                "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "3465e344-eb8f-4eac-aa26-936ef1c41fb2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 6\n}"
                                },
                                {
                                    "id": "32d6edea-b01b-4939-ae46-a96ed9433eb8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1cc3c88c-01fe-48ef-ae88-7514728659a3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "382d35b0-54b3-44ce-9af3-954ebe3ba842",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "cd9b0b6d-b114-4ecc-b6ec-b38425a7821c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the address book.\n\n**Route:** `DELETE /api/client/addresses/{address}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "6f1ccb18-14b9-4875-8e1d-f065ccff73df",
                    "name": "05 - Notifications",
                    "description": "The bell icon: list, unread badge, mark as read, delete, and the global mute switch.\r\n\r\n**Produces:** `{{notification_id}}`. **Depends on:** `{{client_token}}`.",
                    "item": [
                        {
                            "id": "61db8a36-c3e1-4b80-927d-4fbbfa8b4b41",
                            "name": "My notifications",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"notification_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "notifications"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "unread",
                                            "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "paginateNum",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "11c50b1f-21f1-46b1-9277-e60ceae04463",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"9f1c2e3a-1111-4a2b-8c3d-4e5f60718293\",\n                \"title\": \"You were outbid\",\n                \"body\": \"Someone raised the bid on lot #1042.\",\n                \"is_read\": false,\n                \"created_at\": \"2026-08-23T08:40:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "f97040a4-22b5-4a9d-a8d3-f13084b81e60",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2de7b3c4-468f-4865-add1-b3bf02fdfe09",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e7f32c02-3208-4da3-9bcb-12e49b9d5917",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c801d839-454b-4987-bb13-93225cb0ae9d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Paginated notification feed. Ask for `type=unread` to get only the ones still unopened.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "37b3750a-280a-49b9-bc3d-56f144f3690c",
                            "name": "My notifications (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "notifications"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "unread",
                                            "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "paginateNum",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "a0562ee9-8a1e-4022-ae62-ba175f3d7bd4",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"9f1c2e3a-1111-4a2b-8c3d-4e5f60718293\",\n                \"title\": \"You were outbid\",\n                \"body\": \"Someone raised the bid on lot #1042.\",\n                \"is_read\": false,\n                \"created_at\": \"2026-08-23T08:40:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "8b0b24b9-3a4a-4c10-b174-9bb7a90b8ade",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4d8df20b-ef71-4854-a829-af71a339caf3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f56756de-9901-435b-9670-94ec1546b37a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f0898192-02cd-4617-889a-2e2601f2ee20",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items; leave it out for everything.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items; leave it out for everything. |\n| `paginateNum` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "a366acd9-faad-4d41-afb6-2c8db1a94c28",
                            "name": "Unread badge count",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "count-notifications"
                                    ]
                                },
                                "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "50eef110-b55d-4428-8bba-5bacee75e753",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"count\": 3\n    }\n}"
                                },
                                {
                                    "id": "c9423cc9-1081-40f2-be96-9bd4b126ac5b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "943b2ac6-abc7-42a0-a7ec-a6d79fc5d722",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "06f80267-922c-4b76-8a15-cc5b60871490",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "5c03e736-98a6-4ce9-88ee-b4bc546f506d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "Just the number for the red dot on the bell icon.\n\n**Route:** `GET /api/client/count-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2c71f830-8f68-4056-9199-6dd451d49789",
                            "name": "Mark everything as read",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "notifications",
                                        "read-all"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "8f0504dc-e4af-4d44-bf55-b665550b511f",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "dac9555f-4bb6-473e-86b3-1d08a733ec65",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b551ee37-b861-460d-ba70-5ebde79f62e8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "31861664-21a8-42c0-a69f-0eb5957bdbfd",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "60a0638f-f7b4-4bd4-a1cf-6ae27ac066e7",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/client/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3f3629f5-ef4c-4e97-b383-de5befcc52b5",
                            "name": "Mark one as read",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "notifications",
                                        "{{notification_id}}",
                                        "read"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7a254ad2-4da3-4eac-9130-e50bc6ca8dec",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "c23e7e1e-bab5-4ca0-9c2e-2679d5a7523e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f96e20ed-b58d-4765-92fe-adc7ab19f130",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6e20cc89-ddc6-4a55-a50a-399a81bcc424",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "de55c41a-b48c-45d5-b4c9-36a1bcbd0b28",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/client/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "8685d57d-313b-4553-a18e-69f18fcb9b32",
                            "name": "Delete one notification",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "delete-notification",
                                        "{{notification_id}}"
                                    ]
                                },
                                "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "235ce908-dd44-4b94-b180-2c779c052f14",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "b75fd7e7-026b-438f-9baf-21739e3b2bd8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b1dd3560-7a55-458a-9f58-a866b86eaa7f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4addea1f-0d63-485f-952d-a75516d2b4a5",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "24b39ea9-e635-4183-a38f-f4ebc93f338c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/client/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e3eb8aa3-f216-4299-bc38-7c8d37b9b073",
                            "name": "Clear the whole feed",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "delete-notifications"
                                    ]
                                },
                                "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "37c47fbc-3167-429d-9a79-b94080ac0a91",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "a5bd337d-0822-433a-99a3-18ff5cefa0b9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bd9f58e3-9b27-4c84-817f-fd5073c3c860",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b02d83bd-303e-45e4-816f-18d13c0798ea",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a6e2d04c-7c45-41af-9599-ac6df3770b6d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this buyer.\n\n**Route:** `DELETE /api/client/delete-notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "6657ecd7-892b-4363-9fe3-6d1509b11a01",
                            "name": "Mute / unmute notifications",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "switch-notify"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "3b3d48b1-33cb-48b8-86b0-5a03c44a322d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"is_notify\": false\n    }\n}"
                                },
                                {
                                    "id": "f26965ce-be04-45d2-9701-34342bb41f60",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9de4907e-11ed-4d1e-a3a7-6ec35a03b90d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "203a8cdd-a013-4652-8a11-1e09ea2b0db1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a0a50ce4-4540-4272-85d8-a586b2698ac5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the account.\n\n**Route:** `PATCH /api/client/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "cdcffbec-9938-4fc2-abc9-0fca1e2ee7c2",
                    "name": "06 - Browse & Discover",
                    "description": "The shopping part: home screen, search, the two catalogues (auctions and direct offers) and\r\nfavourites.\r\n\r\n**Produces:** `{{listing_id}}` — the auction and offer cycles below both start from it.\r\n**Depends on:** `{{client_token}}`.",
                    "item": [
                        {
                            "id": "3d5dce39-e053-46a7-9d35-2de81330c4fc",
                            "name": "Home screen",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.auctions.0.id\",\"data.offers.0.id\",\"data.listings.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "home"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Current latitude; falls back to the saved address.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Current longitude.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "4fa36390-4eea-4473-8ef0-8af86caffe22",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"greeting\": \"Good morning, Faisal\",\n        \"auctions\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"current_price\": 5200,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\",\n                \"distance_km\": 4.2\n            }\n        ],\n        \"offers\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Aluminium sheets\",\n                \"asking_price_per_unit\": 12.5,\n                \"distance_km\": 9.7\n            }\n        ],\n        \"market_pulse\": {\n            \"active_auctions\": 12,\n            \"trend\": \"up\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "9e99fa3a-649e-4fc0-9c0b-7bd5e4dbe22f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5e9a5af3-39a1-443c-910a-22b58dcd26a6",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9f529e38-874a-4935-86ef-fb4d9d9b4566",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "41c7100d-06bd-4f43-8a12-eea46b158d65",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "One call that fills the whole home screen: greeting, nearby auctions, fresh offers and the market pulse. Send coordinates to sort by distance, or leave them out to use the address on file.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "a48019b1-0a97-4fa7-b678-c927fbc87bf1",
                            "name": "Home screen (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "home"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Current latitude; falls back to the saved address.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Current longitude.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                            },
                            "response": [
                                {
                                    "id": "8b755ba3-a457-4227-a9ce-ecd0cdbaa220",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"greeting\": \"Good morning, Faisal\",\n        \"auctions\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"current_price\": 5200,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\",\n                \"distance_km\": 4.2\n            }\n        ],\n        \"offers\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Aluminium sheets\",\n                \"asking_price_per_unit\": 12.5,\n                \"distance_km\": 9.7\n            }\n        ],\n        \"market_pulse\": {\n            \"active_auctions\": 12,\n            \"trend\": \"up\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "ddd4e014-23be-4fec-b258-51971ab65ad9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "82bbfd68-d877-4178-8312-2da26ffe9073",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "75fbe06a-6448-42d1-ba77-c58bda3ef915",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e3ce0ecc-2dee-45e5-b8bd-89595298fdd7",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "home"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Current latitude; falls back to the saved address.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Current longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Home screen\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/home`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Current latitude; falls back to the saved address. |\n| `lng` | `46.738586` | Optional. Current longitude. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cf01aeb6-7c58-4e21-ac2a-b13b8c09b316",
                            "name": "Search listings",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "search"
                                    ],
                                    "query": [
                                        {
                                            "key": "q",
                                            "value": "copper",
                                            "description": "Optional. Text to match against title and description.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "type",
                                            "value": "all",
                                            "description": "Optional. all, auction or direct_offer. Default all.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude for distance sorting.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude for distance sorting.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Results per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "b8158e32-34e7-4fcb-bd7e-638fba8339a2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"type\": \"auction\",\n                \"title\": \"Copper cable offcuts\",\n                \"current_price\": 5200,\n                \"city\": \"Riyadh\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "4846891a-ac20-41ba-aa0b-0633ff42331e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d1f85a6c-a4e9-4e18-bf7d-5ff7829ede66",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7fdef959-2357-4083-9ab9-979bd960e25c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "66dbee66-8ecb-4f7a-9e9f-af31423ae665",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=copper&type=all&lat=24.774265&lng=46.738586&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Free-text search across both auctions and direct offers, optionally sorted by how close the lot is.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "90d3f0b1-61f7-49ee-acf5-5d7187140368",
                            "name": "Search listings (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "search"
                                    ],
                                    "query": [
                                        {
                                            "key": "q",
                                            "value": "copper",
                                            "description": "Optional. Text to match against title and description.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "type",
                                            "value": "all",
                                            "description": "Optional. all, auction or direct_offer. Default all.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude for distance sorting.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude for distance sorting.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Results per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "6da31f58-2795-43f3-b5fd-de8280624e72",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"type\": \"auction\",\n                \"title\": \"Copper cable offcuts\",\n                \"current_price\": 5200,\n                \"city\": \"Riyadh\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "b4f82249-950c-43aa-b1ad-4e750c7799d8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "aead6bb2-fb93-4642-ae14-84718c38f976",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "144699a9-2a18-4e9c-ae09-c3b504f58490",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "97c81ec8-00cc-47c4-9075-ffa053834e45",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "copper",
                                                    "description": "Optional. Text to match against title and description.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "all",
                                                    "description": "Optional. all, auction or direct_offer. Default all.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude for distance sorting.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Results per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Search listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `copper` | Optional. Text to match against title and description. |\n| `type` | `all` | Optional. all, auction or direct_offer. Default all. |\n| `lat` | `24.774265` | Optional. Latitude for distance sorting. |\n| `lng` | `46.738586` | Optional. Longitude for distance sorting. |\n| `perPage` | `15` | Optional. Results per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ca425f2e-6745-44f8-b535-05ec20de8f86",
                            "name": "Browse auctions",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude used for distance.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude used for distance.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "nearby",
                                            "value": "1",
                                            "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "287c71b7-698e-430f-be05-2b87885a2653",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"quantity\": 850,\n                \"unit\": \"kg\",\n                \"current_price\": 5200,\n                \"min_bid_increment\": 50,\n                \"deposit_amount\": 500,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "cc998f53-f613-48aa-b290-adfde1cc7f74",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a250cdb8-6c54-4802-8a8c-37ee5cdfb89c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c36c5ba2-251e-4441-abdc-d6dc4eefd2ae",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ec255c80-6091-4fd0-95e9-1f941d7c9cc6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Live auctions the buyer can join. `nearby=1` keeps only lots close to the coordinates you send.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "abeb2f86-75f6-4cba-ab13-09202df7a762",
                            "name": "Browse auctions (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude used for distance.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude used for distance.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "nearby",
                                            "value": "1",
                                            "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "6ee2408d-6b38-4a42-8cd3-6dbf28584247",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"quantity\": 850,\n                \"unit\": \"kg\",\n                \"current_price\": 5200,\n                \"min_bid_increment\": 50,\n                \"deposit_amount\": 500,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "1f68c70f-c765-4aca-b654-8b611d171a4c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "7098d5c4-d7be-4434-881f-7ae44a918094",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7c363caa-224d-4a4b-8f06-e5c7f02fec11",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6419abff-6a7b-48b5-8f9c-538906f8ce0d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots, 0 shows everything. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse auctions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots, 0 shows everything. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "9e8fdaf4-1b13-4c62-b78c-c875a0cd7592",
                            "name": "Auction details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude, used to show the distance to the lot.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "814eacf2-1d9c-4547-bcef-edc95ad011f3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1042,\n        \"title\": \"Copper cable offcuts\",\n        \"description\": \"Clean copper offcuts collected from a site handover, ready for pickup.\",\n        \"images\": [\n            \"https://revalue.test/storage/listings/1042-1.jpg\"\n        ],\n        \"quantity\": 850,\n        \"unit\": \"kg\",\n        \"start_price\": 4000,\n        \"current_price\": 5200,\n        \"min_bid_increment\": 50,\n        \"deposit_amount\": 500,\n        \"ends_at\": \"2026-08-25T18:00:00+03:00\",\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"rating\": 4.6\n        },\n        \"is_favorite\": false\n    }\n}"
                                },
                                {
                                    "id": "a4eb1a53-3a78-4dc7-b105-ee1e1afb741b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "572b6bfc-9456-4530-b8a7-2c2f2ab6cbb3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ed4e6022-51f7-4c33-b49e-548ab5225887",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "9763ce99-37e6-4307-8132-7a956a1c8f9e",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Full detail page for auction {{listing_id}}: photos, seller, deposit needed and the current top bid.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "dd00dedd-a413-4b0f-95a3-0625698843cb",
                            "name": "Auction details (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude, used to show the distance to the lot.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "8fd35041-f34c-49a1-92cc-badd89229079",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1042,\n        \"title\": \"Copper cable offcuts\",\n        \"description\": \"Clean copper offcuts collected from a site handover, ready for pickup.\",\n        \"images\": [\n            \"https://revalue.test/storage/listings/1042-1.jpg\"\n        ],\n        \"quantity\": 850,\n        \"unit\": \"kg\",\n        \"start_price\": 4000,\n        \"current_price\": 5200,\n        \"min_bid_increment\": 50,\n        \"deposit_amount\": 500,\n        \"ends_at\": \"2026-08-25T18:00:00+03:00\",\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"rating\": 4.6\n        },\n        \"is_favorite\": false\n    }\n}"
                                },
                                {
                                    "id": "00212784-7733-4234-8897-5c5bdc5f259d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8885754d-c5dd-4334-a982-b5e35c6aeec2",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0d5ae82a-7269-45dc-8d89-7ac0603c54d9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "846d6870-5a01-4db5-a46c-33c117a48be5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show the distance to the lot.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Auction details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/auctions/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show the distance to the lot. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4b44efad-2a79-4c01-9432-19a1a04cff8c",
                            "name": "Browse direct offers",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "offers"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude used for distance.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude used for distance.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "nearby",
                                            "value": "1",
                                            "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "453db9c4-00b7-44a3-ac05-547a350e65e5",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Aluminium sheets\",\n                \"quantity\": 300,\n                \"unit\": \"kg\",\n                \"asking_price_per_unit\": 12.5,\n                \"city\": \"Riyadh\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "74eca552-37cb-431d-9a45-f0066fd69f1c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2baa3d39-5a0a-4691-a452-841e22dd2787",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "13cab20b-1bd9-42c7-857c-647a12be707f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f92eaa43-9129-4b01-b801-06a87d3bbb5d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers?lat=24.774265&lng=46.738586&nearby=1&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Fixed-price lots the buyer can negotiate over chat instead of bidding on.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "564ba707-3b9c-4c26-85d4-3f2b803a38b7",
                            "name": "Browse direct offers (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "offers"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude used for distance.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude used for distance.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "nearby",
                                            "value": "1",
                                            "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "ecb3534c-0783-439b-8fee-9b81bdcac4c1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Aluminium sheets\",\n                \"quantity\": 300,\n                \"unit\": \"kg\",\n                \"asking_price_per_unit\": 12.5,\n                \"city\": \"Riyadh\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "fb150c89-5a19-44f1-9de3-140dfdd6f3ac",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "683c2433-62da-4e77-a391-ad649354e9fa",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1bd1cde5-e67c-4d64-b3b1-a7b99748dddb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d703f9aa-a723-495a-94c0-d0e07dd89377",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude used for distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "nearby",
                                                    "value": "1",
                                                    "description": "Optional. 1 keeps only nearby lots. Default 0.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Browse direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude used for distance. |\n| `lng` | `46.738586` | Optional. Longitude used for distance. |\n| `nearby` | `1` | Optional. 1 keeps only nearby lots. Default 0. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "badc45db-c009-491d-8385-ff7f69bb0369",
                            "name": "Direct offer details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "offers",
                                        "{{listing_id}}"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude, used to show distance.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "5b45dfee-8fd8-46e5-bea2-fbed722a6e6d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1103,\n        \"title\": \"Aluminium sheets\",\n        \"description\": \"Sorted aluminium sheets from a workshop clearance.\",\n        \"quantity\": 300,\n        \"unit\": \"kg\",\n        \"asking_price_per_unit\": 12.5,\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"rating\": 4.6\n        },\n        \"is_favorite\": false\n    }\n}"
                                },
                                {
                                    "id": "f5cb4cfe-266f-4e64-b75f-f521812dc9a8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8865eb34-b920-45a8-91e9-e750566bb86f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "37079e70-407b-4fc0-90db-f423e34d4874",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3848b839-dc02-4113-baee-704bfa22c65e",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}?lat=24.774265&lng=46.738586",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Detail page for offer {{listing_id}}, including the asking price and the button that opens a chat with the seller.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1cb25fdb-539e-48b5-9c27-c25338ad691b",
                            "name": "Direct offer details (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "offers",
                                        "{{listing_id}}"
                                    ],
                                    "query": [
                                        {
                                            "key": "lat",
                                            "value": "24.774265",
                                            "description": "Optional. Latitude, used to show distance.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.738586",
                                            "description": "Optional. Longitude.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "97d64a9c-199c-4387-b8e9-65a368747f35",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1103,\n        \"title\": \"Aluminium sheets\",\n        \"description\": \"Sorted aluminium sheets from a workshop clearance.\",\n        \"quantity\": 300,\n        \"unit\": \"kg\",\n        \"asking_price_per_unit\": 12.5,\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"rating\": 4.6\n        },\n        \"is_favorite\": false\n    }\n}"
                                },
                                {
                                    "id": "65884695-883d-4091-ba04-0322fd702d0a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d3a5bb1a-f57d-415c-bc42-d1c48bed0198",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f6db91d1-bf68-405f-9831-db1ca29f0f9c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4ed23391-86fc-4eba-aa84-bb812c528f18",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}"
                                            ],
                                            "query": [
                                                {
                                                    "key": "lat",
                                                    "value": "24.774265",
                                                    "description": "Optional. Latitude, used to show distance.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.738586",
                                                    "description": "Optional. Longitude.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Direct offer details\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/offers/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `lat` | `24.774265` | Optional. Latitude, used to show distance. |\n| `lng` | `46.738586` | Optional. Longitude. |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b99a9f75-3dee-4c91-89cb-b1feae017912",
                            "name": "My favourites",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "favorites"
                                    ],
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "15",
                                            "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                            },
                            "response": [
                                {
                                    "id": "b05309f3-6a1d-42ab-8cdd-29f3bc0daf6d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"type\": \"auction\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "8fc028cb-58d7-4ed6-9962-c02b8c4cd367",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1ab16c7d-3667-4c28-86cc-4b0f4cc7ad78",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "07e79e76-5907-43fd-a098-c8b0030f62a2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "bbddfb24-c81b-4883-a087-301efd61afb9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites?per_page=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Lots the buyer bookmarked.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "04d38a61-9cfb-460d-b108-6da2b9c31b32",
                            "name": "My favourites (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "favorites"
                                    ],
                                    "query": [
                                        {
                                            "key": "per_page",
                                            "value": "15",
                                            "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                            },
                            "response": [
                                {
                                    "id": "e4f4898f-dda3-4b02-b27d-cf3c1a245d24",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"type\": \"auction\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "bbb6b602-06a8-4d1d-8675-b42fa7e5daf6",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "eedf0de3-84be-4db0-8c4b-9b89dda53414",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b5039458-f24e-41a9-876d-170b18b372b9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4931c5fe-0ddf-466a-bf73-d45fc4096aa9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/favorites",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "favorites"
                                            ],
                                            "query": [
                                                {
                                                    "key": "per_page",
                                                    "value": "15",
                                                    "description": "Optional. 1-50, default 15. Anything outside that range is clamped.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My favourites\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/favorites`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `per_page` | `15` | Optional. 1-50, default 15. Anything outside that range is clamped. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "808f5549-1e19-4584-bbb3-9b4266c732bd",
                            "name": "Add to favourites",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "listings",
                                        "{{listing_id}}",
                                        "favorite"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "e4a5513c-1ca7-49e1-a897-76a5efaf3af2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"is_favorite\": true\n    }\n}"
                                },
                                {
                                    "id": "3bcf406c-feda-402e-9fdd-e355fd0874af",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2e0af53c-83e9-4a29-acfb-d0a854cd0c8c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e9d3d7a0-1346-420c-894c-70c3dbab534c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "bf49c232-a548-4da8-a494-a5bd3e3c7c3d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Bookmarks listing {{listing_id}}. Calling it again toggles the bookmark off.\n\n**Route:** `POST /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "9fbab64e-236f-41f7-9d0b-8f6044b5507a",
                            "name": "Remove from favourites",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "listings",
                                        "{{listing_id}}",
                                        "favorite"
                                    ]
                                },
                                "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0b8b709f-fe70-454c-a2d0-e3f5856adb11",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"is_favorite\": false\n    }\n}"
                                },
                                {
                                    "id": "ddd0a1a6-139e-4fe0-aa9e-eb401ab4c89d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "af56df03-8022-4337-adfc-901c0dec04ea",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e9628afe-47d9-4345-84f5-a52ccf621a18",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "460e3694-e14f-49a6-ad3b-37c34dc9d5c2",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/listings/{{listing_id}}/favorite",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "listings",
                                                "{{listing_id}}",
                                                "favorite"
                                            ]
                                        },
                                        "description": "Explicitly removes listing {{listing_id}} from the favourites list.\n\n**Route:** `DELETE /api/client/listings/{id}/favorite`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "a14e251d-1592-4b0a-969a-51164397dd55",
                    "name": "07 - Auction Bidding Cycle",
                    "description": "The full auction run, in order: check the deposit, pay it from the wallet, enter the bidding\r\nroom, bid, watch the result, then pay the balance — which is what creates the order.\r\n\r\n**Depends on:** `{{listing_id}}` from Browse, and enough wallet balance (see cycle 10).\r\n**Produces:** `{{order_id}}` once the final payment goes through.",
                    "item": [
                        {
                            "id": "471602b8-9611-47a5-b013-951e02050d6a",
                            "name": "1. What deposit does this auction need?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "deposit"
                                    ]
                                },
                                "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7b9a4002-c5d5-4bcf-a088-5277d187fe37",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"deposit_amount\": 500,\n        \"wallet_balance\": 1200,\n        \"can_pay\": true,\n        \"already_paid\": false\n    }\n}"
                                },
                                {
                                    "id": "b426d879-26be-4d2c-bfbe-688cb415ef4d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c8cdfbc6-8335-4e1f-aa69-a37b17cc2d33",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cc0b418e-6906-4558-9575-c6621f4ff513",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6e57a7ce-29fa-47b4-b743-243baf3d9e35",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "description": "Shows the deposit amount for {{listing_id}}, the current wallet balance and whether the buyer can already afford it.\n\n**Route:** `GET /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "a98d0a49-ccda-4d53-a80f-5f3af386cbac",
                            "name": "2. Pay the deposit",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "deposit"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "payment_method",
                                            "value": "wallet",
                                            "type": "text",
                                            "description": "required|in:wallet",
                                            "disabled": false
                                        },
                                        {
                                            "key": "terms_accepted",
                                            "value": "1",
                                            "type": "text",
                                            "description": "required|accepted",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "04ee4726-3977-4887-8ef1-3abcefd67a92",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "terms_accepted",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Deposit paid successfully\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"deposit_amount\": 500,\n        \"wallet_balance\": 700,\n        \"can_bid\": true\n    }\n}"
                                },
                                {
                                    "id": "3efa1bd9-5189-485c-9d51-2c81b2d3f69b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "terms_accepted",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The payment method field is required.\",\n    \"errors\": {\n        \"payment_method\": [\n            \"The payment method field is required.\"\n        ],\n        \"terms_accepted\": [\n            \"The terms accepted field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f4ef22f8-a6b8-47a4-be27-c3f2cde8c135",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "terms_accepted",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ac87be27-3cd7-4588-8501-2ce946cacacf",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "terms_accepted",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "30a9aca7-8881-4f75-99c3-16b646ff70c5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/deposit",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "deposit"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "terms_accepted",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Holds the deposit from the wallet so the buyer can bid. The terms checkbox has to be accepted.\n\n**Route:** `POST /api/client/auctions/{id}/deposit`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `terms_accepted` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3ab4a7c0-9337-4875-84df-bcc00f291ec1",
                            "name": "3. Am I allowed into the bidding room?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "bidding-access"
                                    ]
                                },
                                "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "6b011654-8df7-4cee-853a-142e20783388",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-access"
                                            ]
                                        },
                                        "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"can_enter\": true,\n        \"reason\": null,\n        \"starts_at\": \"2026-08-23T10:00:00+03:00\",\n        \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "cc6ee65a-5bdf-4751-89b6-3be840cb8fbf",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-access"
                                            ]
                                        },
                                        "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "600f8db8-fab9-455c-8f80-0812639bcb1e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-access"
                                            ]
                                        },
                                        "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4d3fc98d-c47d-47ea-ad08-fc6b0268446d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-access"
                                            ]
                                        },
                                        "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "08a597bf-f75f-451a-b6eb-0b39998434c9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-access",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-access"
                                            ]
                                        },
                                        "description": "The gate the app checks before opening the room: deposit paid, auction live, account in good standing.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-access`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "21dacc23-297d-4a63-b631-15277c4be671",
                            "name": "4. Open the bidding room",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "bidding-room"
                                    ]
                                },
                                "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1a94f348-9dbb-40f3-a344-c8857eb336c0",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-room"
                                            ]
                                        },
                                        "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"current_price\": 5200,\n        \"min_next_bid\": 5250,\n        \"my_last_bid\": null,\n        \"my_position\": null,\n        \"bidders_count\": 4,\n        \"seconds_left\": 172800\n    }\n}"
                                },
                                {
                                    "id": "321cc68c-2e92-496d-b34d-e19bf450ba05",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-room"
                                            ]
                                        },
                                        "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "eb8da27a-db8c-4dbe-a0e6-c9bd0ecbaaa1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-room"
                                            ]
                                        },
                                        "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2b586e2e-92f8-4f56-93b4-086aef30a692",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-room"
                                            ]
                                        },
                                        "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b7c8c956-5c4b-42cb-b9ec-9433e0fe7561",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidding-room",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidding-room"
                                            ]
                                        },
                                        "description": "Live state of auction {{listing_id}}: current price, minimum next bid, time left and where this buyer stands.\n\n**Route:** `GET /api/client/auctions/{id}/bidding-room`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3154d6fc-2e53-492b-9988-dffb8416831e",
                            "name": "5. Place a bid",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "bids"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "amount",
                                            "value": "5250",
                                            "type": "text",
                                            "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c69285f4-cd74-459f-acf6-b9793acf47bb",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Bid placed successfully\",\n    \"data\": {\n        \"bid_id\": 88,\n        \"amount\": 5250,\n        \"current_price\": 5250,\n        \"my_position\": 1\n    }\n}"
                                },
                                {
                                    "id": "e716574c-f211-42ef-b95a-d79eef5b9c91",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"bid_id\": 88,\n        \"amount\": 5250,\n        \"current_price\": 5250,\n        \"my_position\": 1\n    }\n}"
                                },
                                {
                                    "id": "e18376a0-4c44-4bb6-ab59-635246b40cef",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The amount field is required.\",\n    \"errors\": {\n        \"amount\": [\n            \"The amount field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3db907c9-5aa7-4ab6-af01-ab990626c45b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4a4616ad-a79d-4fcc-8f13-aab37931bab2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f8421741-1703-4e47-a65c-de4c2d04cfd9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bids",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bids"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "5250",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.01 — must be at least current price + min_bid_increment",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Puts a bid on {{listing_id}}. It has to clear the current price plus the minimum increment.\n\n**Route:** `POST /api/client/auctions/{id}/bids`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:0.01 — must be at least current price + min_bid_increment |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "6663c018-e1c4-4f91-80d3-2cba5abf24f5",
                            "name": "6. Who else is bidding?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "bidders"
                                    ]
                                },
                                "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "486a6f3f-a65b-4452-93bb-a7ec5105e5b7",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"position\": 1,\n            \"label\": \"Bidder 1\",\n            \"amount\": 5250,\n            \"is_me\": true\n        },\n        {\n            \"position\": 2,\n            \"label\": \"Bidder 2\",\n            \"amount\": 5200,\n            \"is_me\": false\n        }\n    ]\n}"
                                },
                                {
                                    "id": "b6195a24-c47c-4223-9f6c-2ed8ca7c9198",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4d4ee597-0f98-4fa8-acbe-6a332b4a1d74",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "865467a4-73b1-401c-9e41-4911b7cfe092",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "5f72c10d-2cbd-4a09-8278-e751b088c712",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Anonymised leaderboard for {{listing_id}} — bidders appear as \"Bidder 1\", \"Bidder 2\" and so on.\n\n**Route:** `GET /api/client/auctions/{id}/bidders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "19805943-94b0-4447-b4c0-1f3f77da66f6",
                            "name": "7. What happens if I win?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "outcome-preview"
                                    ]
                                },
                                "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "37c444aa-bb13-4f4b-99e2-6941b686d03c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "outcome-preview"
                                            ]
                                        },
                                        "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"bid_amount\": 5250,\n        \"commission\": 262.5,\n        \"vat\": 39.38,\n        \"deposit_applied\": 500,\n        \"amount_due\": 5051.88\n    }\n}"
                                },
                                {
                                    "id": "f29897b6-e290-48dc-94f7-fb3d05b01c55",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "outcome-preview"
                                            ]
                                        },
                                        "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5ef5fe33-14d2-40e8-b9eb-d9a93f566384",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "outcome-preview"
                                            ]
                                        },
                                        "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f8eec532-1a88-40e4-947e-f22a3dcb4feb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "outcome-preview"
                                            ]
                                        },
                                        "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "2a11b379-ec2d-4a55-a5b7-5a786dfaaffa",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/outcome-preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "outcome-preview"
                                            ]
                                        },
                                        "description": "Cost breakdown before the auction closes: winning amount, commission, VAT, deposit already held and the balance still to pay.\n\n**Route:** `GET /api/client/auctions/{id}/outcome-preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3562e4f1-5d85-48af-84c6-ca81b6091189",
                            "name": "8. Auction result",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "result"
                                    ]
                                },
                                "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "85e56460-0812-48ca-8901-7644efc86e02",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "result"
                                            ]
                                        },
                                        "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"listing_id\": 1042,\n        \"status\": \"ended\",\n        \"i_won\": true,\n        \"winning_amount\": 5250,\n        \"next_step\": \"final_payment\"\n    }\n}"
                                },
                                {
                                    "id": "cf2ab4fc-1a6d-493b-a667-113584be0316",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "result"
                                            ]
                                        },
                                        "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "046a91b4-a018-4bfe-a3ee-7ae67189009a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "result"
                                            ]
                                        },
                                        "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ab7b10ed-47d1-42d2-911f-24df0de0a15d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "result"
                                            ]
                                        },
                                        "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "bd8db9fa-12f7-4c21-a36d-a9fbf7185400",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/result",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "result"
                                            ]
                                        },
                                        "description": "Who won {{listing_id}} once it closed, and what this buyer has to do next.\n\n**Route:** `GET /api/client/auctions/{id}/result`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "78e2b94c-6df8-4c48-99ab-b519138f73c5",
                            "name": "9. Final payment breakdown",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "final-payment"
                                    ]
                                },
                                "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "83028905-522b-4ef4-98c8-f6053e0e8f48",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"amount_due\": 5051.88,\n        \"wallet_balance\": 6000,\n        \"can_pay\": true,\n        \"deposit_applied\": 500\n    }\n}"
                                },
                                {
                                    "id": "7c861f4b-cf8a-43e2-b94e-96fa03b68fcd",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "762f1018-7c6c-471a-9ff1-a9bc93ab1c89",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a8460c93-beaf-4e8c-953b-5db258de97b4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e541465a-602e-4035-964e-a294896af622",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "description": "The exact amount still owed on the won lot, and whether the wallet covers it.\n\n**Route:** `GET /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "90c506ed-2c7f-46f3-b46a-697571d75d3e",
                            "name": "10. Pay the balance and create the order",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"order_id\", [\"data.order_id\",\"data.order.id\",\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "auctions",
                                        "{{listing_id}}",
                                        "final-payment"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "payment_method",
                                            "value": "wallet",
                                            "type": "text",
                                            "description": "required|in:wallet",
                                            "disabled": false
                                        },
                                        {
                                            "key": "confirm",
                                            "value": "1",
                                            "type": "text",
                                            "description": "required|accepted",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1eef43b7-2b99-4e5b-b629-b8f8596e4c65",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Payment completed successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"amount_paid\": 5051.88,\n        \"status\": \"paid_pending_schedule\"\n    }\n}"
                                },
                                {
                                    "id": "2d149582-ef0e-43ab-aa21-023144ae5b9f",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"amount_paid\": 5051.88,\n        \"status\": \"paid_pending_schedule\"\n    }\n}"
                                },
                                {
                                    "id": "d6cf4d56-f718-4efa-b1d3-75b3ed074d45",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The payment method field is required.\",\n    \"errors\": {\n        \"payment_method\": [\n            \"The payment method field is required.\"\n        ],\n        \"confirm\": [\n            \"The confirm field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4fd908dd-e384-4e81-9a95-a96b501516af",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "3aff690b-39aa-42d6-8a01-e9f868387d6b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ced923fe-5345-4c19-bd7f-eb3aa46c0849",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/auctions/{{listing_id}}/final-payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "auctions",
                                                "{{listing_id}}",
                                                "final-payment"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "payment_method",
                                                    "value": "wallet",
                                                    "type": "text",
                                                    "description": "required|in:wallet",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "confirm",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|accepted",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Moves the remaining amount into escrow and turns the won auction into an order. The new order id is stored as {{order_id}}.\n\n**Route:** `POST /api/client/auctions/{id}/final-payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `payment_method` | required · in:wallet |\n| `confirm` | required · accepted |\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "d5a12d4b-8b52-4d51-9e05-c635928d001f",
                    "name": "08 - Direct Offers & Chat",
                    "description": "The negotiation route: open a chat on a fixed-price lot, talk to the seller, then accept or\r\nturn down the price they formally send.\r\n\r\n**Depends on:** `{{listing_id}}` (a direct-offer lot). **Produces:** `{{conversation_id}}`, and\r\n`{{order_id}}` when the buyer accepts a price offer.",
                    "item": [
                        {
                            "id": "a6f66582-773a-47e6-9a62-d10935a7d89c",
                            "name": "1. Start a chat about this lot",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"conversation_id\", [\"data.id\",\"data.conversation_id\",\"data.conversation.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "offers",
                                        "{{listing_id}}",
                                        "make-offer"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a3b2bff6-d419-47a3-8fe2-d1e5baf7926c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Conversation opened successfully\",\n    \"data\": {\n        \"id\": 77,\n        \"listing_id\": 1103,\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\"\n        },\n        \"status\": \"open\"\n    }\n}"
                                },
                                {
                                    "id": "b6e1f2a6-2769-4716-a4f6-7ff9f4f717a2",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 77,\n        \"listing_id\": 1103,\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\"\n        },\n        \"status\": \"open\"\n    }\n}"
                                },
                                {
                                    "id": "dc845dbc-c7c0-4b21-afd8-8a423f3bc670",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e05fa310-3536-4546-b219-c8f3eaad33f0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e5a5b392-da6f-4157-9be9-b5053ca94422",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1863ac14-dae6-46bb-9d6b-a1ca8bd79c29",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/offers/{{listing_id}}/make-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "offers",
                                                "{{listing_id}}",
                                                "make-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Opens (or re-opens) the conversation with the seller of {{listing_id}}. No fields to fill — the lot and the signed-in buyer are enough.\n\n**Route:** `POST /api/client/offers/{id}/make-offer`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "28898d7d-086e-44fa-9089-ab14d72fae57",
                            "name": "2. My conversations",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"conversation_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Threads per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "4c8cc20f-202b-41ed-a334-90ab856477d2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 77,\n                \"listing\": {\n                    \"id\": 1103,\n                    \"title\": \"Aluminium sheets\"\n                },\n                \"last_message\": \"Can you do 11.5 per kg?\",\n                \"unread_count\": 1,\n                \"updated_at\": \"2026-08-23T09:20:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "c140ffad-3cf0-4085-935c-255f465601e4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2a458b74-0159-4371-88ac-f0a8f62c2db6",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "17ff63a6-383e-425b-89ce-dcdf94b3f9eb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "effc7c05-f9cf-49db-848f-9fc27a23f283",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the last message and unread count per thread.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "203c5bf2-d63b-4c4a-b2a6-090aa7269965",
                            "name": "2. My conversations (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Threads per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "c28ad9f6-de5b-4f77-ab1d-01d58d35efc3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 77,\n                \"listing\": {\n                    \"id\": 1103,\n                    \"title\": \"Aluminium sheets\"\n                },\n                \"last_message\": \"Can you do 11.5 per kg?\",\n                \"unread_count\": 1,\n                \"updated_at\": \"2026-08-23T09:20:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "e4a02d9c-9d90-4bf7-b07b-d12331c03038",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "178ecd47-7464-4ca0-ae99-5636af94da56",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "56eca9d2-5f9c-4898-9f9a-c4f0d09ac6b2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a295dfdc-209f-49d4-87af-9d2cf71fcb41",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"2. My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1ba5c4db-0cbf-46dc-a124-150d3db4e0b6",
                            "name": "3. Conversation header",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}"
                                    ]
                                },
                                "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c85dd032-2b49-41a2-992e-641c10d864cd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 77,\n        \"listing\": {\n            \"id\": 1103,\n            \"title\": \"Aluminium sheets\",\n            \"asking_price_per_unit\": 12.5\n        },\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"rating\": 4.6\n        },\n        \"pending_price_offer\": {\n            \"price\": 3450,\n            \"quantity\": 300,\n            \"inspection_at\": \"2026-08-26T11:00:00+03:00\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "9a14c2da-3a7c-4b87-8a5a-c577f27d3dde",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "721ab977-ed5f-47c3-a9b6-b9ba8ba40ad1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cc0a422f-fe99-49da-9375-63c9fc31ba52",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "bf31a876-d6c3-4862-b307-91af48854713",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently on the table.\n\n**Route:** `GET /api/client/conversations/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e6570603-0189-4073-b4b1-8d07167ff837",
                            "name": "4. Read the messages",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "30",
                                            "description": "Optional. Messages per page, default 30.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "fe50b2cf-cdf5-46fa-92dc-177c919cd063",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 900,\n                \"sender\": \"seller\",\n                \"body\": \"The sheets are sorted and ready.\",\n                \"attachment\": null,\n                \"created_at\": \"2026-08-23T09:18:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 30,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "01d05129-9607-4390-99c8-ebad0bf2296f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a28b4773-fa38-45ea-b2b7-de48567813d2",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1a945127-6ccc-4251-b451-8aaff2667477",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e81ea52e-f747-4732-ab80-23060a1a7b05",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}, newest page first.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "14b9fbfc-fb19-42e0-bcd5-865d27271ef4",
                            "name": "4. Read the messages (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "30",
                                            "description": "Optional. Messages per page, default 30.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "abd46f19-1193-4798-95c5-03d8a68d22de",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 900,\n                \"sender\": \"seller\",\n                \"body\": \"The sheets are sorted and ready.\",\n                \"attachment\": null,\n                \"created_at\": \"2026-08-23T09:18:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 30,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "189bda20-eaee-4aa5-a5bb-2993ab0e3528",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "29b0b671-b62d-49be-967a-2f7f0f871ea5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "403a7113-9952-4924-b6db-00fb88082c9d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b1b5ae44-0315-4a23-8886-d742b56701cb",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"4. Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b95d445e-f544-4510-a196-e6ac90f55894",
                            "name": "5. Send a message",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "body",
                                            "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                            "type": "text",
                                            "description": "nullable|string|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "attachment",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "570afd70-605d-479b-b91d-d2ac20569b6a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Message sent successfully\",\n    \"data\": {\n        \"id\": 901,\n        \"sender\": \"buyer\",\n        \"body\": \"Could you do 11.5 SAR per kg if I collect on Thursday morning?\",\n        \"created_at\": \"2026-08-23T09:22:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "a1b1a0fc-f6e5-47d6-a9a8-a363e0129086",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 901,\n        \"sender\": \"buyer\",\n        \"body\": \"Could you do 11.5 SAR per kg if I collect on Thursday morning?\",\n        \"created_at\": \"2026-08-23T09:22:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "dd0662d0-629c-4890-9e30-3b25481a10c6",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "285d75b4-4df5-4412-afba-172a9d21d486",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "09905c84-5ef8-430b-a4e3-fe56b806cdc8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f91ba9f8-7d61-464a-b9a2-bc16845b8d43",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "Could you do 11.5 SAR per kg if I collect on Thursday morning?",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Posts a message into {{conversation_id}}. Text, a photo, or both.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d39ea19b-c43a-4ac2-b1b8-958273f17480",
                            "name": "6. Accept the seller price",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"order_id\", [\"data.order_id\",\"data.order.id\",\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "price-offer",
                                        "accept"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "ee1e7bac-ff24-4211-9994-1221bbc41b89",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price offer accepted successfully\",\n    \"data\": {\n        \"order_id\": 502,\n        \"total\": 3450,\n        \"status\": \"pending_payment\"\n    }\n}"
                                },
                                {
                                    "id": "342adb93-b572-4fd5-8e01-dee0d82b297b",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"order_id\": 502,\n        \"total\": 3450,\n        \"status\": \"pending_payment\"\n    }\n}"
                                },
                                {
                                    "id": "1e5db950-a52e-4761-9cfd-033c7cba0485",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1fa4c182-353c-4fec-99e4-42867c124b24",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "34686c8f-7c79-4490-9fa4-dceacbe2c05d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e4ff7c64-d845-44c0-8a84-14d4960ec868",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Accepts the formal price offer in {{conversation_id}}. This is what creates the order, so {{order_id}} is saved from the response.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/accept`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "20e63abf-4b4a-49b7-935c-9d35a8b0a073",
                            "name": "7. Turn the price down",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "price-offer",
                                        "reject"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "13edd13f-9131-4907-8037-87b5cafe8835",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price offer rejected successfully\",\n    \"data\": {\n        \"conversation_id\": 77,\n        \"pending_price_offer\": null\n    }\n}"
                                },
                                {
                                    "id": "faaf3128-c55c-4ca7-8f43-0a600e5fe798",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a05a8f9b-31bc-4da3-a9b9-8b94196eadcd",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6ef7d342-4195-413f-862a-0abeff32dbb4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "2fb1f47e-c52e-42e2-b3a3-acef5b92f98f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/price-offer/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Rejects the pending price offer in {{conversation_id}}; the chat stays open so the two sides can keep talking.\n\n**Route:** `POST /api/client/conversations/{id}/price-offer/reject`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "5b0394bd-7f7a-4068-8275-c9078c5df113",
                    "name": "09 - Orders, Handover & Rating",
                    "description": "Everything after money is committed: inspect the material, renegotiate if it does not match,\r\npay into escrow, meet the seller with a handshake code, confirm receipt, rate them and pull\r\nthe invoice. Complaints about a specific order live here too.\r\n\r\n**Depends on:** `{{order_id}}` from cycle 07 or 08. **Produces:** nothing new.",
                    "item": [
                        {
                            "id": "78daf01b-efeb-4929-b570-62bf2537d264",
                            "name": "My orders",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"order_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "offers",
                                            "description": "Optional. offers or auctions. Default offers.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "status",
                                            "value": "active",
                                            "description": "Optional. review, active, completed or cancelled. Default active.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Orders per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "9f4482a9-6c03-4cf4-85ff-838eab5ed365",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 501,\n                \"source\": \"auction\",\n                \"status\": \"pending_inspection\",\n                \"total\": 5051.88,\n                \"listing\": {\n                    \"id\": 1042,\n                    \"title\": \"Copper cable offcuts\"\n                }\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "609ac178-d53a-4cdf-97ed-4e15f359febe",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6dd83550-92ec-4f47-aec5-18ee4ec71823",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "77e29d06-7be8-40a4-bd86-9d08a5b0ed35",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e26a0f4c-29ce-48a7-a5d5-ebfd8e70f6d6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Order list split the way the app tabs it: offers or auctions, and one status bucket at a time.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "7e156e9a-4ae0-430b-8011-b7baae3b198c",
                            "name": "My orders (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "offers",
                                            "description": "Optional. offers or auctions. Default offers.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "status",
                                            "value": "active",
                                            "description": "Optional. review, active, completed or cancelled. Default active.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Orders per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "6d15a5c4-baf4-4f2b-9e1a-33b01aea02db",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 501,\n                \"source\": \"auction\",\n                \"status\": \"pending_inspection\",\n                \"total\": 5051.88,\n                \"listing\": {\n                    \"id\": 1042,\n                    \"title\": \"Copper cable offcuts\"\n                }\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "80a004ad-e968-46a8-a77c-680d3629a216",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "7e71b938-c497-402b-970e-2c83291be67a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "15211366-05ff-4552-babd-c2691f889e55",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "204298a5-c882-4b46-8207-c4658d43f5fa",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "86ecc988-2f4e-49e2-8b64-029f491e89f2",
                            "name": "Order details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}"
                                    ]
                                },
                                "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c7ae3dd4-4e3b-4251-95f8-8b9d7eb49a44",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"pending_inspection\",\n        \"source\": \"auction\",\n        \"listing\": {\n            \"id\": 1042,\n            \"title\": \"Copper cable offcuts\",\n            \"quantity\": 850,\n            \"unit\": \"kg\"\n        },\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\",\n            \"phone\": \"966533221100\"\n        },\n        \"inspection_at\": \"2026-08-26T11:00:00+03:00\",\n        \"inspection_location\": \"Al Sulay yard 8, Riyadh\",\n        \"totals\": {\n            \"subtotal\": 5250,\n            \"commission\": 262.5,\n            \"vat\": 39.38,\n            \"deposit_applied\": 500,\n            \"total\": 5051.88\n        },\n        \"next_action\": \"confirm_inspection\"\n    }\n}"
                                },
                                {
                                    "id": "6c935704-6edf-485e-a05e-62b3f02c882d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "06e57d6c-bd11-417b-86bd-95f77da82f2b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e412f493-8902-4da2-93a2-b4e44b28df20",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "80b05065-7d16-4b5d-aaed-5de54419cd83",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Full picture of {{order_id}}: seller, material, money breakdown, inspection appointment and which button the app should show next.\n\n**Route:** `GET /api/client/orders/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3272b2d6-2388-4a09-8468-1e881d87b8b8",
                            "name": "Confirm the material matches",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "confirm-inspection"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "566cf059-4423-444d-bd4e-fb02b73d9f17",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Inspection confirmed successfully\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"pending_payment\",\n        \"next_action\": \"pay\"\n    }\n}"
                                },
                                {
                                    "id": "826ef899-d903-4b79-ab83-514a9dfcc740",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b2eee5bd-e1ab-4d25-96b0-40bed6814949",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "fde5ea95-9eb5-44a6-b67e-afa4dd7d0e54",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0f7f11ce-cae8-4087-8e44-430e16cb570b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The buyer inspected the lot and is happy with it. Moves {{order_id}} on to payment.\n\n**Route:** `POST /api/client/orders/{id}/confirm-inspection`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "66a83a0a-9cd3-4a06-906e-8edfa30b97b6",
                            "name": "Price change — what can I ask for?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change"
                                    ]
                                },
                                "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "8c62d374-32ec-42a8-a7e4-8740c07dc27a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"order_id\": 502,\n        \"quantity\": 300,\n        \"price_per_unit\": 11.5,\n        \"can_request\": true\n    }\n}"
                                },
                                {
                                    "id": "d4bd6445-520f-4e9e-a4d1-8745ad69327a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1d1c88e2-a3a4-46b3-b155-e3a77094657d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "16eccadf-8c5c-4269-972a-f09832ae97b9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "8303e74f-6e8e-4449-b0a8-9004d62a47d5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "description": "Limits and current numbers before requesting a new price on {{order_id}} (direct-offer orders only).\n\n**Route:** `GET /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3fef065e-2d2e-4b63-ae58-5fdef889635c",
                            "name": "Price change — preview the new total",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change",
                                        "preview"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "quantity",
                                            "value": "280",
                                            "type": "text",
                                            "description": "required|numeric|gt:0",
                                            "disabled": false
                                        },
                                        {
                                            "key": "price_per_unit",
                                            "value": "11.5",
                                            "type": "text",
                                            "description": "required|numeric|gt:0",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "ece6472f-1cf4-4192-94a5-eadd439243d8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "preview"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"subtotal\": 3220,\n        \"commission\": 161,\n        \"vat\": 24.15,\n        \"total\": 3405.15,\n        \"difference\": -450\n    }\n}"
                                },
                                {
                                    "id": "fe1bce4a-897d-494c-adfe-8f20c21367e2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "preview"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The quantity field is required.\",\n    \"errors\": {\n        \"quantity\": [\n            \"The quantity field is required.\"\n        ],\n        \"price_per_unit\": [\n            \"The price per unit field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "eb30e7a7-efc2-4d75-b940-be0afe028a67",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "preview"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "311c27d1-9321-4e54-a715-72f55ae52262",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "preview"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f006b921-1978-49e2-8ae0-e28c08fb21d0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change/preview",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "preview"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Dry run: shows what the totals become for {{order_id}} without sending anything to the seller.\n\n**Route:** `POST /api/client/orders/{id}/price-change/preview`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5cc2eb0a-433a-4fbc-ad98-8432608f0d69",
                            "name": "Price change — send it to the seller",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "quantity",
                                            "value": "280",
                                            "type": "text",
                                            "description": "required|numeric|gt:0",
                                            "disabled": false
                                        },
                                        {
                                            "key": "price_per_unit",
                                            "value": "11.5",
                                            "type": "text",
                                            "description": "required|numeric|gt:0",
                                            "disabled": false
                                        },
                                        {
                                            "key": "reason",
                                            "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                            "type": "text",
                                            "description": "nullable|string|max:300",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "f6d273f7-ac08-4414-96c7-5092558604fd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason",
                                                    "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:300",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price change requested successfully\",\n    \"data\": {\n        \"id\": 502,\n        \"status\": \"price_review\",\n        \"requested_total\": 3405.15\n    }\n}"
                                },
                                {
                                    "id": "fa31a732-f41e-4bfe-868d-5d279e4047d2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason",
                                                    "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:300",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The quantity field is required.\",\n    \"errors\": {\n        \"quantity\": [\n            \"The quantity field is required.\"\n        ],\n        \"price_per_unit\": [\n            \"The price per unit field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2d1d47ca-9bc2-4779-98e7-83ac917c6bf7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason",
                                                    "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:300",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b8efe36a-2166-440c-86d8-bbdbeb981845",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason",
                                                    "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:300",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "14224431-c520-4f63-9aa5-b8961d74fb5d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/price-change",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|gt:0",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason",
                                                    "value": "Actual weight after loading was 280 kg, and some sheets are painted.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:300",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Formally asks the seller to re-price {{order_id}}. The order waits in review until they answer.\n\n**Route:** `POST /api/client/orders/{id}/price-change`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `quantity` | required · numeric · gt:0 |\n| `price_per_unit` | required · numeric · gt:0 |\n| `reason` | nullable · string · max:300 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "35832cd9-bd24-4f83-8ac9-5b0783e43b01",
                            "name": "Payment breakdown",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "payment"
                                    ]
                                },
                                "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "da1219c4-d371-4ac9-bf86-881dbe13af48",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "payment"
                                            ]
                                        },
                                        "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"order_id\": 501,\n        \"amount_due\": 5051.88,\n        \"wallet_balance\": 6000,\n        \"can_pay\": true\n    }\n}"
                                },
                                {
                                    "id": "5c5c903f-148f-4b71-b563-9232d96f9ed2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "payment"
                                            ]
                                        },
                                        "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f33bb532-719c-4841-a16d-89f01a4f6309",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "payment"
                                            ]
                                        },
                                        "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4e8169bc-88f4-4531-8a17-2a0a45d76759",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "payment"
                                            ]
                                        },
                                        "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1b55b71a-5963-43b4-aa25-1727ba2ac0ef",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/payment",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "payment"
                                            ]
                                        },
                                        "description": "What is still owed on {{order_id}} and whether the wallet covers it.\n\n**Route:** `GET /api/client/orders/{id}/payment`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "274c55a1-7b97-447b-9d42-485694106e22",
                            "name": "Pay into escrow",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "pay"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a3a4b80f-432f-4bcc-9610-1a9fb3512abe",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "pay"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Payment completed successfully\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"in_progress\",\n        \"amount_paid\": 5051.88\n    }\n}"
                                },
                                {
                                    "id": "bd655925-c211-40ed-bf7b-2c0d0e4bab06",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "pay"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "58bd68fc-7438-49da-82ce-f3c186af65ca",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "pay"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "362b8adb-1d14-41d4-b78e-be3be46baab2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "pay"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ee20989e-de02-416b-83c1-3128cdb122c4",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/pay",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "pay"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Debits the wallet and parks the money in escrow until the buyer confirms receipt. No fields to send.\n\n**Route:** `POST /api/client/orders/{id}/pay`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cac51e4e-ff61-4b73-959b-2b61caf99ab7",
                            "name": "Show my handshake code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "handshake"
                                    ]
                                },
                                "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "f09cc461-ac5c-46ff-9742-6cadd976cc97",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake"
                                            ]
                                        },
                                        "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"order_id\": 501,\n        \"handshake_code\": \"4821\",\n        \"verified\": false\n    }\n}"
                                },
                                {
                                    "id": "4381af25-8191-4d69-bda6-632e3720e3f3",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake"
                                            ]
                                        },
                                        "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "148f8945-0ab3-4bcc-acf1-05c7fe864195",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake"
                                            ]
                                        },
                                        "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f2df9895-e14c-44f7-9cb5-1b1e4ae10a63",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake"
                                            ]
                                        },
                                        "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "9cb1be6a-2b3b-458b-a752-e2f934052dfb",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/handshake",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake"
                                            ]
                                        },
                                        "description": "The 4-digit code the buyer reads out at pickup; the seller types it into their app to prove the two met.\n\n**Route:** `GET /api/client/orders/{id}/handshake`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "39b78a66-6f70-44c3-9490-bf691f2e51c1",
                            "name": "Confirm I received the material",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "confirm-receipt"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0bebeb16-0a56-4a00-b541-945b4d5f6c12",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-receipt"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Receipt confirmed successfully\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"completed\",\n        \"completed_at\": \"2026-08-26T13:40:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "a58ea286-ffc7-495d-8fb4-ac8f07f39488",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-receipt"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a08dbf89-1045-4cf8-acfb-5fbf30b421e8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-receipt"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "bc966c34-3300-4f32-94bb-69dd9a1d9c3b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-receipt"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a801fcfb-34d6-4352-9cec-cea708f1cfad",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/confirm-receipt",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "confirm-receipt"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Closes {{order_id}} and releases the escrow to the seller.\n\n**Route:** `POST /api/client/orders/{id}/confirm-receipt`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "9b1c6647-5838-4b94-8875-d1e7752cdcf6",
                            "name": "Rating screen data",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"rating_tag_id\", [\"data.tags.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "rate"
                                    ]
                                },
                                "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                            },
                            "response": [
                                {
                                    "id": "16a72815-6216-42c4-9b55-e812209f0b50",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"already_rated\": false,\n        \"seller\": {\n            \"id\": 7,\n            \"name\": \"Nawaf Metals Est.\"\n        },\n        \"tags\": [\n            {\n                \"id\": 1,\n                \"name\": \"Accurate description\"\n            },\n            {\n                \"id\": 2,\n                \"name\": \"On time\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a122f3b2-3869-4274-ae70-dced78f53733",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cb357be3-ab31-4e5b-8729-fc8890863d84",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d5c33c45-6620-4775-a01e-246560aca2a1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b748fd1b-d538-4f57-9a92-abc8f504194b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "The tags the buyer can pick from when rating the seller of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "fc141829-7ef8-44c7-9103-da6ae185bbbb",
                            "name": "Rate the seller",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "rate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "stars",
                                            "value": "5",
                                            "type": "text",
                                            "description": "required|integer|min:1|max:5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "tag_ids[0]",
                                            "value": "{{rating_tag_id}}",
                                            "type": "text",
                                            "description": "nullable|array",
                                            "disabled": false
                                        },
                                        {
                                            "key": "tag_ids[1]",
                                            "value": "2",
                                            "type": "text",
                                            "description": "nullable|array",
                                            "disabled": false
                                        },
                                        {
                                            "key": "comment",
                                            "value": "Material matched the photos and loading was ready when I arrived.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a3418cf7-b152-44a8-9cca-acf25ad9598e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Rating submitted successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"stars\": 5,\n        \"seller_rating\": 4.7\n    }\n}"
                                },
                                {
                                    "id": "8d6a3721-3673-406e-a2a6-2e0357ae1da3",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"stars\": 5,\n        \"seller_rating\": 4.7\n    }\n}"
                                },
                                {
                                    "id": "2c270684-ef17-4b87-9f87-94cf4ac4a969",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The stars field is required.\",\n    \"errors\": {\n        \"stars\": [\n            \"The stars field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "7f92e712-944f-412c-a2cf-a388a3589000",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e4b056fa-6a97-4281-abfe-15b177dad6c9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1af53999-4a1f-4ec3-8902-388ab6a94030",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Material matched the photos and loading was ready when I arrived.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the seller of {{order_id}}.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f89e3c97-fc44-4da6-812c-701326303dde",
                            "name": "Order invoice",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "invoice"
                                    ]
                                },
                                "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0252fceb-0814-45c2-81ac-928280391550",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"invoice_number\": \"INV-2026-000501\",\n        \"issued_at\": \"2026-08-26T13:41:00+03:00\",\n        \"subtotal\": 5250,\n        \"commission\": 262.5,\n        \"vat\": 39.38,\n        \"total\": 5051.88,\n        \"pdf_url\": \"https://revalue.test/storage/invoices/INV-2026-000501.pdf\"\n    }\n}"
                                },
                                {
                                    "id": "cb95ae73-a9d1-4c2f-910b-aaacfff9a63d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "dab5689a-a56c-4021-ac12-ebfcd9faea51",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f268968d-091a-4438-8e0d-50ad0941ae03",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ce7425ea-759f-436a-95d3-61f7ca595244",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}}. Only available once the order is completed.\n\n**Route:** `GET /api/client/orders/{id}/invoice`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b594c799-9dc5-4e70-b817-51205d106394",
                            "name": "Complaint reasons for this order",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"reason_id\", [\"data.reasons.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "complaint-reasons"
                                    ]
                                },
                                "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0c522825-f92c-4593-8673-ae843ced87d1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 1,\n            \"name\": \"Material does not match the listing\"\n        },\n        {\n            \"id\": 2,\n            \"name\": \"Seller did not show up\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "10429c0d-e11a-4555-b6b2-695fec7f3406",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "890576e4-c49d-4785-8cae-296a9cfca004",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "68f09a50-2d65-46cc-8800-50ff3ee475a9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d5f4c838-4de1-4227-8ea7-073263bc858b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons the buyer can choose from when something went wrong with {{order_id}}.\n\n**Route:** `GET /api/client/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "7fe52dac-02cc-4af2-a646-55225c2002fa",
                            "name": "Raise a complaint about this order",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "complaints"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "reason_id",
                                            "value": "{{reason_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:complaint_reasons,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "custom_reason",
                                            "value": "Roughly 40 kg of the load was painted scrap.",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[1]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "08d96fd0-d60a-46d7-9804-272c106f13a3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Complaint submitted successfully\",\n    \"data\": {\n        \"id\": 31,\n        \"order_id\": 501,\n        \"status\": \"open\",\n        \"created_at\": \"2026-08-26T14:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "55148010-8a20-46f2-b4a8-f08460fc0bdb",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 31,\n        \"order_id\": 501,\n        \"status\": \"open\",\n        \"created_at\": \"2026-08-26T14:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "42ca23c8-156a-4115-a9e9-ade1523be2d5",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0cd4c18e-bc2d-41fc-92e7-2bf2932cbea0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a80c0d73-aa6b-449f-b0ce-bf8465005c55",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b446a937-b263-445e-9709-be99db9da36a",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Roughly 40 kg of the load was painted scrap.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The lot was listed as clean copper but part of the load is painted and mixed with steel clips. Photos attached.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}}, with up to five photos as evidence. Support can freeze the escrow while it is open.\n\n**Route:** `POST /api/client/orders/{id}/complaints`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "1a623241-9024-48e5-b236-352dc50be159",
                    "name": "10 - Wallet & Withdrawals",
                    "description": "The money side. Deposits and final payments come out of this wallet, so top it up before\r\nrunning the auction cycle.\r\n\r\n**Produces:** `{{withdrawal_id}}`. **Depends on:** `{{client_token}}` and the `min_wallet_charge`\r\n/ `min_withdrawal` values from the public settings endpoint.",
                    "item": [
                        {
                            "id": "4e4ad12e-3b2c-4d6b-84ef-39611aa325b6",
                            "name": "My wallet",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet"
                                    ]
                                },
                                "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "aa8b33b2-0c79-4dfc-959a-e6890ac2425a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"available_balance\": 6000,\n        \"held_balance\": 500,\n        \"pending_withdrawals\": 0,\n        \"currency\": \"SAR\"\n    }\n}"
                                },
                                {
                                    "id": "3049ef2a-5c60-4c18-a2c1-657a18330964",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d85a07a4-823c-40af-905f-b2e17350862f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "77473799-bb8e-4206-bff5-24b62a070106",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "484665c9-91b1-49ad-a8c5-f3737c347ca9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, amount held in escrow and the pending withdrawal total.\n\n**Route:** `GET /api/client/wallet`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "8286fec4-8ec8-45ac-929d-935d4dd5b2a1",
                            "name": "Wallet transactions",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "transactions"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "52f340b2-4e01-40d7-ae19-e77cf85c413b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 340,\n                \"type\": \"charge\",\n                \"amount\": 6000,\n                \"created_at\": \"2026-08-22T18:02:00+03:00\"\n            },\n            {\n                \"id\": 341,\n                \"type\": \"deposit_hold\",\n                \"amount\": -500,\n                \"created_at\": \"2026-08-23T09:30:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 2,\n            \"count\": 2,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "05fd8d8a-d9f2-4537-ba72-b6042300f4f8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9bba2d68-799b-41a5-8298-3444b4c1e366",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7c161d0f-9450-4cf4-a682-611091966b26",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6b2c2e43-e02b-4ebd-b100-76cd94b4e781",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Top-ups, payments and refunds as the app shows them.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4779b8d9-dad0-4bd1-9631-31ca1465848c",
                            "name": "Wallet transactions (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "transactions"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "5b3d809f-37e3-4672-ac09-cf8c3a64cad8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 340,\n                \"type\": \"charge\",\n                \"amount\": 6000,\n                \"created_at\": \"2026-08-22T18:02:00+03:00\"\n            },\n            {\n                \"id\": 341,\n                \"type\": \"deposit_hold\",\n                \"amount\": -500,\n                \"created_at\": \"2026-08-23T09:30:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 2,\n            \"count\": 2,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "832af5db-6e12-414c-b57a-cc0496a2d9e0",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4ab91884-b110-4300-9e1d-0a7947c05488",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9b2feb94-bab4-4124-b7f7-599e9d7d16c2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "bbed9101-df5e-4561-9206-c8c187fb9725",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/transactions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "transactions"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet transactions\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/transactions`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d28d45f0-236a-4541-9af5-9d9a65eee803",
                            "name": "Wallet ledger",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "ledger"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "03fe648c-07a1-401e-929b-42eb010aab57",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 780,\n                \"entry\": \"debit\",\n                \"amount\": 500,\n                \"reason\": \"auction_deposit\",\n                \"balance_after\": 5500,\n                \"created_at\": \"2026-08-23T09:30:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "cea3e734-1b83-4e0e-80fd-8912c61fc365",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b1e7263b-723a-4c9a-bc4d-eb7fbb12e3ed",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "acf1c7fc-5ffc-4aa1-9958-45d68f333ea5",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "10b0a942-f8f5-4d63-8b8b-4e778614c834",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The accounting view of the same movements — every debit and credit with its running balance.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5d554d26-7d17-4b79-8a06-2321eff668c7",
                            "name": "Wallet ledger (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "ledger"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "45fa7cba-b04f-451b-88c5-084741b3f505",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 780,\n                \"entry\": \"debit\",\n                \"amount\": 500,\n                \"reason\": \"auction_deposit\",\n                \"balance_after\": 5500,\n                \"created_at\": \"2026-08-23T09:30:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "a759bb98-5415-48f2-ae5f-08cde02e2edc",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "640cbca0-c745-48bb-9b01-18752594fe9c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0bf03041-2d0d-4182-943e-9de701809e34",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e8e4cbaf-dfd6-4972-948f-ec0682686768",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/ledger`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3c1536b9-a095-458c-8ca3-78a4edfca749",
                            "name": "Top up my wallet",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "charge"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "amount",
                                            "value": "6000",
                                            "type": "text",
                                            "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                            },
                            "response": [
                                {
                                    "id": "61396247-5ff0-4e13-96dc-3ba015d7c3f9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Wallet charged successfully\",\n    \"data\": {\n        \"transaction_id\": 342,\n        \"amount\": 6000,\n        \"available_balance\": 6000,\n        \"payment_url\": \"https://checkout.example.com/pay/342\"\n    }\n}"
                                },
                                {
                                    "id": "87cc36c7-699e-493f-862b-afcfe0175c32",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"transaction_id\": 342,\n        \"amount\": 6000,\n        \"available_balance\": 6000,\n        \"payment_url\": \"https://checkout.example.com/pay/342\"\n    }\n}"
                                },
                                {
                                    "id": "2d67bcb1-fc08-42a1-bb4d-814cf56bb421",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The amount field is required.\",\n    \"errors\": {\n        \"amount\": [\n            \"The amount field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5f445c16-7e67-431b-a7fa-a8ebd5c5bb09",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ace5387e-1715-49b8-a63a-92e65565277e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "edee1919-9b73-4cc4-8abd-7c2cff9d4dbd",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/charge",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "charge"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "6000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_wallet_charge setting|max:999999999999.99",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Starts an online top-up. The minimum comes from `min_wallet_charge` in the public settings; the payment type is forced to \"online\" server-side.\n\n**Route:** `POST /api/client/wallet/charge`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_wallet_charge setting · max:999999999999.99 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "14fa51e5-6f5b-47de-804f-43ad8f15eda1",
                            "name": "Withdrawal rules",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "withdrawals",
                                        "meta"
                                    ]
                                },
                                "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "d523f53d-260c-4ee3-be94-257ade20730b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"min_withdrawal\": 100,\n        \"available_balance\": 6000,\n        \"last_bank\": {\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"SA03********7519\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "ac64de88-f85f-4cb0-bf45-5bfe53873745",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1dab0c09-a1b6-43e3-a982-dcf2de1fa568",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "aeb059a0-0a10-435a-b4d1-1cf3a86a027e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "47e5742c-91ee-4d73-a0ca-3377c2e01d8e",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum amount, how much is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/client/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ce99a1f4-12fb-49dc-a718-d4c81e6e5939",
                            "name": "My withdrawal requests",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"withdrawal_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "withdrawals"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "b601fa9b-d48a-428d-9424-2d665cfd5e32",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 9,\n                \"amount\": 1500,\n                \"status\": \"pending\",\n                \"created_at\": \"2026-08-20T12:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "7c8ba437-9460-41a0-ac2c-43e80f283ca2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "97a175a6-1932-4693-a39e-6e60b8d7b3f4",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d8e4da88-295d-4073-8eec-47782985e0cc",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b8506726-263a-4594-af06-b54b56a9ae21",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c958e251-14e8-4f3e-845b-c91b55533ea5",
                            "name": "My withdrawal requests (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "withdrawals"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "acb3e0a9-b2ec-425e-9645-64338983ab42",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 9,\n                \"amount\": 1500,\n                \"status\": \"pending\",\n                \"created_at\": \"2026-08-20T12:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "08fd190b-0775-4b62-8a75-c574f7a7830b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c1e08da8-f741-4e83-8d9d-6dccdbd81424",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b1e8b3e0-fc46-4bb4-849f-c29a4b6ccb48",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "62ffcab2-5c88-4051-a268-9c0f61c4254a",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f39ce31a-488b-4d92-8186-6489f94b1207",
                            "name": "Request a payout",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"withdrawal_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "withdrawals"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "amount",
                                            "value": "1500",
                                            "type": "text",
                                            "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "bank_name",
                                            "value": "{{bank_name}}",
                                            "type": "text",
                                            "description": "required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "account_holder",
                                            "value": "Faisal Al-Harbi",
                                            "type": "text",
                                            "description": "required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "account_number",
                                            "value": "608010167519",
                                            "type": "text",
                                            "description": "required|string|min:4|max:34",
                                            "disabled": false
                                        },
                                        {
                                            "key": "iban",
                                            "value": "{{iban}}",
                                            "type": "text",
                                            "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "da2e938b-4861-4f09-97fe-4e5b20fe363e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Withdrawal requested successfully\",\n    \"data\": {\n        \"id\": 10,\n        \"amount\": 1500,\n        \"status\": \"pending\",\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "d44bb862-19e0-4336-9e1d-16fd847c4cd0",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 10,\n        \"amount\": 1500,\n        \"status\": \"pending\",\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "cbc855ae-b8a3-4ebe-9524-e9c8636d41db",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The amount field is required.\",\n    \"errors\": {\n        \"amount\": [\n            \"The amount field is required.\"\n        ],\n        \"bank_name\": [\n            \"The bank name field is required.\"\n        ],\n        \"account_holder\": [\n            \"The account holder field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2439e8fd-be61-46be-a16f-4933810bac6d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a4d1a033-716a-4c18-8a0d-6efe8eab382a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f3924dd9-d086-4e92-89e8-ea2ade174117",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "1500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Faisal Al-Harbi",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to move money from the wallet to a bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/client/wallet/withdrawals`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ee61b12e-d3c3-4751-bd87-144f3d7cec7d",
                            "name": "Withdrawal details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "wallet",
                                        "withdrawals",
                                        "{{withdrawal_id}}"
                                    ]
                                },
                                "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "2f7d1f9c-56a6-43e4-a9a7-ee756c41ca11",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 10,\n        \"amount\": 1500,\n        \"status\": \"pending\",\n        \"bank_name\": \"Al Rajhi Bank\",\n        \"rejection_reason\": null\n    }\n}"
                                },
                                {
                                    "id": "cf29081d-eee0-414a-9989-359bb7627d3c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "083d4642-e8bd-4ba8-a9e7-57f2c3ea4b67",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6597c249-7ac2-48c8-9693-1723c33e6bd7",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "04b87ae5-8636-4d4e-bba7-2f41b88d946f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout request {{withdrawal_id}}, including the rejection reason when finance turned it down.\n\n**Route:** `GET /api/client/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "11c906f4-5776-410c-9da9-2ea7402cbc86",
                    "name": "11 - Support Complaints",
                    "description": "General complaints that are not tied to a single order (the order-specific ones live in\r\ncycle 09).\r\n\r\n**Produces:** `{{complain_id}}` and `{{reason_id}}`. **Depends on:** `{{client_token}}`.",
                    "item": [
                        {
                            "id": "d4b49523-cab6-4944-b2da-405dfe4feefe",
                            "name": "Complaint reasons",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"reason_id\", [\"data.reasons.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains",
                                        "reasons"
                                    ]
                                },
                                "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                            },
                            "response": [
                                {
                                    "id": "23598457-d99a-452d-92fb-eff2514a20a2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": 1,\n                \"name\": \"Payment problem\"\n            },\n            {\n                \"id\": 2,\n                \"name\": \"Account problem\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5638dab3-5f05-4f33-a718-f27631983188",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4d0c01a0-b180-4ef4-a2a9-80f9a8a8766e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a29890ea-43ac-4644-9cc0-1ffb0d6ac6c1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "cea2fc45-ee52-4810-9ef8-a54c87ebca06",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the complaint form for buyers.\n\n**Route:** `GET /api/client/complains/reasons`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f258feeb-820d-424b-81e6-43990fdca15e",
                            "name": "My complaints",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains"
                                    ]
                                },
                                "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "5d58b9f3-2ebb-431f-ae89-8d4d13c93e0c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 31,\n                \"reason\": \"Payment problem\",\n                \"status\": \"open\",\n                \"created_at\": \"2026-08-23T10:05:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "42d417ad-d37c-40fc-8800-262413046352",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fff2933b-d4ed-4732-aa87-6436507eeec3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "679f1a2f-b777-406b-af30-6a42d2fb0afa",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d4357d29-cd61-4d71-a1d3-af6af9f19c1c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this buyer opened, newest first.\n\n**Route:** `GET /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f06c9ca9-6697-4578-8338-837d4eb99f68",
                            "name": "Open a complaint",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "reason_id",
                                            "value": "{{reason_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:complaint_reasons,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "custom_reason",
                                            "value": "Wallet top-up did not arrive",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7bb1a746-365b-4b91-8111-341fc55ac550",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Complaint submitted successfully\",\n    \"data\": {\n        \"id\": 32,\n        \"status\": \"open\",\n        \"reason\": \"Payment problem\"\n    }\n}"
                                },
                                {
                                    "id": "c5a2d099-486d-4bdf-b9b7-78d4dbd4188e",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 32,\n        \"status\": \"open\",\n        \"reason\": \"Payment problem\"\n    }\n}"
                                },
                                {
                                    "id": "a6cf8e19-f075-4360-894c-7b71b5c7ac08",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d612fe04-ebc5-4e43-ade2-8be83a5b7747",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "03580e16-5e77-42ce-8c5a-d069b5c82f90",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "403b3d20-caeb-4b0e-8db7-9051bb49a95d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "I topped up 6000 SAR on Saturday and the balance still shows the old amount.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support. Pick a reason, describe what happened and attach up to five photos.\n\n**Route:** `POST /api/client/complains`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "fce45677-cbf8-4f86-9ab9-ff1a9694766b",
                            "name": "Complaint details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains",
                                        "{{complain_id}}"
                                    ]
                                },
                                "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "cddf3f68-da7d-4d2d-85df-0527f105fa52",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 32,\n        \"reason\": \"Payment problem\",\n        \"description\": \"I topped up 6000 SAR on Saturday and the balance still shows the old amount.\",\n        \"status\": \"open\",\n        \"replies\": []\n    }\n}"
                                },
                                {
                                    "id": "61cb8dd6-d211-4ff0-bdf2-69f39aeccb05",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a9692c67-630f-4b84-b590-ac4e1d4b91eb",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "15704a12-4a30-45dc-baf2-e8450228515f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "9c98f774-9ed9-48f5-8a9c-a87fd87ee7be",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "eb17f20b-fe7a-4b0c-9c5b-6596e0912ecb",
                            "name": "Edit my complaint",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains",
                                        "{{complain_id}}"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PUT",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "reason_id",
                                            "value": "{{reason_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:complaint_reasons,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "custom_reason",
                                            "value": "Wallet top-up did not arrive",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "9ef8487c-63bd-4348-9b2e-93be590c67d4",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 32,\n        \"description\": \"Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.\"\n    }\n}"
                                },
                                {
                                    "id": "f633615b-406f-457b-bc4c-53dc408e24fc",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5d42252f-3440-49b4-9ec0-93b223514ba9",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8fdab992-3be2-481b-b309-41ffacbd3360",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d430aaeb-a731-4984-b148-ecb0ccecd0b4",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Wallet top-up did not arrive",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Adding the bank reference: transfer 8891-2026 sent Saturday 18:02.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates case {{complain_id}} while support has not closed it yet — for example to add detail or new photos.\n\n**Route:** `PUT /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "8b27ef96-e5bd-4643-9c97-fe86adf717f6",
                            "name": "Withdraw my complaint",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains",
                                        "{{complain_id}}"
                                    ]
                                },
                                "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1b8a53dc-3e19-451d-88b5-5b6e97321232",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 32\n}"
                                },
                                {
                                    "id": "12b569ae-f21a-4a9f-a369-1965b8aa15d4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1cbb58eb-2611-4011-82e6-30d7b47b05ac",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "861acccb-9fd3-4080-9580-7236b85574b7",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b256696e-86e9-4982-8c6c-c247a1df9b18",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Deletes case {{complain_id}} — used when the buyer sorted the problem out themselves.\n\n**Route:** `DELETE /api/client/complains/{complain}`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "091a9a6b-7d58-4e38-9583-0a29e4dc1a30",
                    "name": "12 - Examples / Variations",
                    "description": "The same buyer endpoints filled in for specific situations, ready to run without editing.\r\n\r\n**Depends on:** a signed-in buyer (`{{client_token}}`).",
                    "item": [
                        {
                            "id": "12d970d6-e31d-4741-82ed-ef4538fb6391",
                            "name": "Search — auctions only, close to me",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "search"
                                    ],
                                    "query": [
                                        {
                                            "key": "q",
                                            "value": "aluminium",
                                            "description": "Search text.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "type",
                                            "value": "auction",
                                            "description": "Auctions only.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "21.485811",
                                            "description": "Jeddah latitude.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "39.192505",
                                            "description": "Jeddah longitude.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "30",
                                            "description": "Bigger page for the map view.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                            },
                            "response": [
                                {
                                    "id": "d7d2ccea-1406-44bc-ba56-4eed1fc09fa7",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "aluminium",
                                                    "description": "Search text.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "auction",
                                                    "description": "Auctions only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "description": "Jeddah latitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "description": "Jeddah longitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Bigger page for the map view.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "15947aad-9ac0-4fcb-b35a-c9813a140c1e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "aluminium",
                                                    "description": "Search text.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "auction",
                                                    "description": "Auctions only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "description": "Jeddah latitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "description": "Jeddah longitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Bigger page for the map view.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a1ab56e8-6f3e-4918-97c9-ee228c97b7a0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "aluminium",
                                                    "description": "Search text.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "auction",
                                                    "description": "Auctions only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "description": "Jeddah latitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "description": "Jeddah longitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Bigger page for the map view.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ecf3b0a0-28a9-4b7d-8201-24c4bde7d19a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "aluminium",
                                                    "description": "Search text.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "auction",
                                                    "description": "Auctions only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "description": "Jeddah latitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "description": "Jeddah longitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Bigger page for the map view.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "470d2434-66cd-4398-b250-d7caec8da4b3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/search?q=aluminium&type=auction&lat=21.485811&lng=39.192505&perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "search"
                                            ],
                                            "query": [
                                                {
                                                    "key": "q",
                                                    "value": "aluminium",
                                                    "description": "Search text.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "type",
                                                    "value": "auction",
                                                    "description": "Auctions only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "description": "Jeddah latitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "description": "Jeddah longitude.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Bigger page for the map view.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "How the app searches when the buyer has the \"auctions\" chip selected and location turned on.\n\n**Route:** `GET /api/client/search`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `q` | `aluminium` | Search text. |\n| `type` | `auction` | Auctions only. |\n| `lat` | `21.485811` | Jeddah latitude. |\n| `lng` | `39.192505` | Jeddah longitude. |\n| `perPage` | `30` | Bigger page for the map view. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3447bb9b-804b-4452-ae9c-19e63aa4d4e7",
                            "name": "Orders — completed auction orders",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "auctions",
                                            "description": "Auction orders.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "status",
                                            "value": "completed",
                                            "description": "Finished ones only.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Standard page size.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                            },
                            "response": [
                                {
                                    "id": "e957beac-f0aa-4b92-991d-c1c94463decc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "auctions",
                                                    "description": "Auction orders.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "completed",
                                                    "description": "Finished ones only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Standard page size.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "f7406590-84a5-4a61-bd59-6214ecccb80e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "auctions",
                                                    "description": "Auction orders.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "completed",
                                                    "description": "Finished ones only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Standard page size.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "201039b0-4ab2-4bee-af23-8d7269925d5f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "auctions",
                                                    "description": "Auction orders.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "completed",
                                                    "description": "Finished ones only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Standard page size.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9656107c-d559-4bf4-b3fa-af0e63320a0b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "auctions",
                                                    "description": "Auction orders.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "completed",
                                                    "description": "Finished ones only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Standard page size.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "fe4bceed-bf60-47ff-a38e-6fbbd4e8bb62",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders?tab=auctions&status=completed&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "auctions",
                                                    "description": "Auction orders.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "completed",
                                                    "description": "Finished ones only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Standard page size.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The \"history\" tab: auction orders that already finished.\n\n**Route:** `GET /api/client/orders`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `auctions` | Auction orders. |\n| `status` | `completed` | Finished ones only. |\n| `perPage` | `15` | Standard page size. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "343059e1-0aa7-4953-bd92-41f774626dd0",
                            "name": "Notifications — unread only, small page",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "notifications"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "unread",
                                            "description": "Unread only.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "paginateNum",
                                            "value": "5",
                                            "description": "Five per page.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                            },
                            "response": [
                                {
                                    "id": "94e4ddf1-f0a0-4e75-913e-94349aca73a3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Unread only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "5",
                                                    "description": "Five per page.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "465c3c2c-7832-42d7-ac38-67070d583ebb",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Unread only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "5",
                                                    "description": "Five per page.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e9578368-b28b-432d-835a-7f7a317f6e4c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Unread only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "5",
                                                    "description": "Five per page.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "77d0fa9b-50cf-4801-83cd-3d25cdb5548a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Unread only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "5",
                                                    "description": "Five per page.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1492ef72-6575-47a1-93b5-6233b20d4765",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/notifications?type=unread&paginateNum=5",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Unread only.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "paginateNum",
                                                    "value": "5",
                                                    "description": "Five per page.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the bell dropdown asks for: the five newest unread items.\n\n**Route:** `GET /api/client/notifications`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Unread only. |\n| `paginateNum` | `5` | Five per page. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "156917e2-78d5-44ea-b4f0-a5f0a2889b6f",
                            "name": "Address — preview without saving",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "addresses"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "label",
                                            "value": "other",
                                            "type": "text",
                                            "description": "required|in:home,work,other",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "21.485811",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "39.192505",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "address",
                                            "value": "Al Balad, Jeddah — warehouse row C",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "is_default",
                                            "value": "0",
                                            "type": "text",
                                            "description": "nullable|boolean",
                                            "disabled": false
                                        },
                                        {
                                            "key": "save_address",
                                            "value": "0",
                                            "type": "text",
                                            "description": "nullable|boolean",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                            },
                            "response": [
                                {
                                    "id": "18f4ba81-da28-481c-b459-778de7f5242b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "other",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Balad, Jeddah — warehouse row C",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"label\": \"other\",\n        \"address\": \"Al Balad, Jeddah — warehouse row C\",\n        \"saved\": false\n    }\n}"
                                },
                                {
                                    "id": "abead5e4-e838-4aff-8619-1ee582ca14c5",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "other",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Balad, Jeddah — warehouse row C",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The label field is required.\",\n    \"errors\": {\n        \"label\": [\n            \"The label field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ],\n        \"lng\": [\n            \"The lng field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "482618db-c424-4568-906c-89497b910f72",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "other",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Balad, Jeddah — warehouse row C",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0991a625-0695-4938-88da-3988ed630ff9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "other",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Balad, Jeddah — warehouse row C",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "fb4d6aff-0c6b-4366-ae19-43827c9dbd57",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "other",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Balad, Jeddah — warehouse row C",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "save_address",
                                                    "value": "0",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The map screen validating a pin before the buyer taps Save: `save_address=0` returns the formatted address without storing it.\n\n**Route:** `POST /api/client/addresses`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n| `save_address` | nullable · boolean |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f1e3615f-b6ee-4e9b-956b-ff2f0a00410e",
                            "name": "Chat — send a photo with no text",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "attachment",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "5dfc31f8-72a3-4fa8-b048-2052fdb4c7f8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Message sent successfully\",\n    \"data\": {\n        \"id\": 902,\n        \"sender\": \"buyer\",\n        \"body\": null,\n        \"attachment\": \"https://revalue.test/storage/chat/902.jpg\"\n    }\n}"
                                },
                                {
                                    "id": "faedc4f1-c2c8-415f-b254-6551fa089086",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9ef73352-e815-45cd-b724-5c273f5f760c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a8391bf9-654e-4c33-aaf6-e571ce87bc99",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f3c905cd-06c7-49da-bf4a-2d367dabc373",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Buyers often just send a picture of the load. Attach a file to `attachment` and leave `body` empty.\n\n**Route:** `POST /api/client/conversations/{id}/messages`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "bbe5f59a-f550-4070-92fa-5a5be9df3924",
                            "name": "Rating — one star with a complaint comment",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "orders",
                                        "{{order_id}}",
                                        "rate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "stars",
                                            "value": "1",
                                            "type": "text",
                                            "description": "required|integer|min:1|max:5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "comment",
                                            "value": "The load was 60 kg short and the seller arrived two hours late.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c878d40a-8b8d-4a92-be49-296ae4715e57",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "The load was 60 kg short and the seller arrived two hours late.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Rating submitted successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"stars\": 1,\n        \"seller_rating\": 4.2\n    }\n}"
                                },
                                {
                                    "id": "cc08f919-47bc-4ce4-bf38-759a0754c1e0",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "The load was 60 kg short and the seller arrived two hours late.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The stars field is required.\",\n    \"errors\": {\n        \"stars\": [\n            \"The stars field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9b3ca9af-31d7-4241-b559-2bfd77954994",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "The load was 60 kg short and the seller arrived two hours late.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cb7b001f-9ff9-48c6-b1b7-a5b23902d8f1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "The load was 60 kg short and the seller arrived two hours late.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3698e9bd-dce6-4885-a462-ed0aed81342b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "The load was 60 kg short and the seller arrived two hours late.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The unhappy path: lowest rating, no tags, and an explanation.\n\n**Route:** `POST /api/client/orders/{id}/rate`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "8f5822c8-f35f-4737-b021-7eb89e591f22",
                            "name": "Complaint — partial edit with PATCH",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "complains",
                                        "{{complain_id}}"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "Support asked for the transfer receipt — attaching it now.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "afe1d8c7-43f1-49ee-8e3c-660974a0e3ab",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Support asked for the transfer receipt — attaching it now.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 32,\n        \"description\": \"Support asked for the transfer receipt — attaching it now.\"\n    }\n}"
                                },
                                {
                                    "id": "cf67d399-2e27-470c-b6f1-0726252a26ed",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Support asked for the transfer receipt — attaching it now.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5bebbd20-1dbd-44f3-b201-ea6bce6fae14",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Support asked for the transfer receipt — attaching it now.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c9904d7a-ee14-4872-93c7-7550388b9de4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Support asked for the transfer receipt — attaching it now.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d8e08ab3-0647-479a-9d52-b16b7c56b552",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Support asked for the transfer receipt — attaching it now.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The same update as in cycle 11, but routed as PATCH instead of PUT (sent as POST with `_method=PATCH`). Both verbs are registered, so both are covered here.\n\n**Route:** `PATCH /api/client/complains/{complain}`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "0ee3efcc-e52f-48bf-80a5-701b5f93b8bf",
                    "name": "13 - Sign Out & Cleanup",
                    "description": "Run these last. Signing out revokes `{{client_token}}`, and deleting the account removes the\r\ntest buyer for good — everything above stops working until you register again.\r\n\r\n**Depends on:** `{{client_token}}`.",
                    "item": [
                        {
                            "id": "c68db40f-359d-4a7b-b7c0-d7d9eb2fbf28",
                            "name": "Sign out",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "logout"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "95240a4c-5f6f-4f86-a36a-4a43ce0c6d16",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Logged out successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "affbe0c6-796b-4856-be5c-bcf910775a35",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "549abb79-9980-4ccb-a547-1100fa0b80fa",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "79151c1f-d842-42f7-a39a-24eb6928614e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "438c9abb-0048-4512-afb1-51aaddf5a0c6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/client/logout`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "138afcd3-5275-43a7-9ada-4107e7358e0f",
                            "name": "Delete my account",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "client",
                                        "delete-account"
                                    ]
                                },
                                "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "204c9650-29f0-408c-8115-778a9d94f70d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account Deleted successfully\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "9750c504-e001-404d-a05c-da427da78da6",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "00c9aaaf-b37e-498e-9c08-c411cfdb69bc",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "51ac6766-1894-4584-9dad-0a2af1564cb5",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "43c32f46-c4a7-4699-9967-f64cd854ee0b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/client/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "client",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the buyer account. Anything still in escrow has to be settled first.\n\n**Route:** `DELETE /api/client/delete-account`\n\n**Auth:** `Bearer {{client_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                }
            ],
            "auth": {
                "type": "bearer",
                "bearer": [
                    {
                        "key": "token",
                        "value": "{{client_token}}",
                        "type": "string"
                    }
                ]
            }
        },
        {
            "id": "b417dfec-371b-452a-b165-61badf337ab9",
            "name": "03 - Provider (Seller)",
            "description": "The seller side of ReValue: sign up by phone, prove identity through Nafath, wait for admin\r\napproval, publish auctions or fixed-price offers, negotiate, hand the material over and get\r\npaid out of escrow.\r\n\r\n**Start here:** run `01 - Authentication`, then `02 - Seller Onboarding & Nafath`. Verify login\r\nsaves `{{provider_token}}` and `{{access_token}}` for every folder below.\r\n\r\n**Important:** the marketplace folders (07 onwards) sit behind the `provider.approved` gate. Until\r\nan admin approves the seller they answer `key=needApproval` with HTTP 200 — that is the API\r\nworking as designed, not a broken request.\r\n\r\n**Depends on:** `{{city_id}}`, `{{category_id}}`, `{{subcategory_id}}`, `{{condition_id}}` and\r\n`{{unit_id}}` from the Public folder. **Produces:** `{{provider_token}}`, `{{listing_id}}`,\r\n`{{conversation_id}}`, `{{order_id}}`, `{{address_id}}`, `{{withdrawal_id}}`, `{{complain_id}}`.",
            "item": [
                {
                    "id": "413b6a7a-a7ea-49fa-9eb9-726a3e43665c",
                    "name": "01 - Authentication",
                    "description": "Same phone-first flow as the buyer app, against the seller tables. Password reset is still\r\nemail-based here, which is why the forgot-password requests take an email instead of a phone.\r\n\r\n**Produces:** `{{provider_token}}`, `{{access_token}}`. **Depends on:** nothing.",
                    "item": [
                        {
                            "id": "b16374ce-937c-4ba3-be5e-449fc89857f9",
                            "name": "1. Register with a phone number",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"needActive\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "register"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:2,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "60c6b1b7-c220-47f0-b458-7f4e53692798",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needActive\",\n    \"msg\": \"Activation code sent successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\",\n        \"is_active\": false\n    }\n}"
                                },
                                {
                                    "id": "58f7bd23-9160-427e-87e3-0af93eb32732",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needActive\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\",\n        \"is_active\": false\n    }\n}"
                                },
                                {
                                    "id": "2363d27a-831c-45ab-890b-4af64f6ad26f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f44ee32f-480a-4d9b-be28-d7649c85a6d4",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4c3ad903-fdb0-4655-a9cb-f64cdeac3f97",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates the seller account and texts a 4-digit activation code.\n\n**Route:** `POST /api/provider/register`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:2,5 |\n| `phone` | required · numeric · digits_between:9,10 · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2d35bc59-3265-4502-b082-1921975738e6",
                            "name": "2. Activate with the SMS code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"needs_acceptance\",\"needApproval\",\"profileNotCompleted\",\"register_type\",\"register_nafaz\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"provider_token\", [\"data.token\"]);",
                                            "remember(\"access_token\", [\"data.token\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "activate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PUT",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|digits:4",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                            },
                            "response": [
                                {
                                    "id": "cf7a8843-a814-4c2c-9f1e-0de4063056bc",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"account activated successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\",\n        \"is_active\": true,\n        \"seller_type\": null,\n        \"token\": \"41|sanctumSellerTokenExample\"\n    }\n}"
                                },
                                {
                                    "id": "509aa591-6785-4f80-97f3-615c6a387fbd",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f03d748b-b06b-4312-9de0-cef4955aaab0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9f015895-0c61-40c4-8b5e-231342427fbe",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e0c2e501-b616-4078-916e-e3335bd267c0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/activate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "activate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the activation code and returns the first token, so the seller can start the onboarding stepper.\n\n**Route:** `PUT /api/provider/activate`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · digits:4 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4f20ed24-add7-4076-86fd-c2623a1ad536",
                            "name": "3. Resend the activation code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "resend-code"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends the activation SMS again.\n\n**Route:** `POST /api/provider/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |"
                            },
                            "response": [
                                {
                                    "id": "0522ad01-ca63-4235-bedc-0a6c4a6cfa10",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again.\n\n**Route:** `POST /api/provider/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"533221100\"\n    }\n}"
                                },
                                {
                                    "id": "72a0bb1e-30a6-460e-9323-1e22742611d4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again.\n\n**Route:** `POST /api/provider/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3738f47f-125e-458a-9198-828ce3a31db1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again.\n\n**Route:** `POST /api/provider/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1e911864-dfe3-4fb7-9886-479e2066a5e1",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the activation SMS again.\n\n**Route:** `POST /api/provider/resend-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "a866e261-6e00-424d-b7af-7fdaca0fad6a",
                            "name": "4. Login (asks for an OTP)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"needVerification\",\"fail\",\"blocked\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/login",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "login"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "nullable|in:ios,android,web",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "nullable|string|max:255",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Phone-first seller sign-in. No password is used; ReValue texts a one-time code.\n\n**Route:** `POST /api/provider/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_type` | nullable · in:ios,android,web |\n| `device_id` | nullable · string · max:255 |"
                            },
                            "response": [
                                {
                                    "id": "43e637dd-3b2c-45cf-a9b8-79df08fcfcaf",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "nullable|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Phone-first seller sign-in. No password is used; ReValue texts a one-time code.\n\n**Route:** `POST /api/provider/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_type` | nullable · in:ios,android,web |\n| `device_id` | nullable · string · max:255 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"needVerification\",\n    \"msg\": \"Code sent to phone number\",\n    \"data\": {\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\"\n    }\n}"
                                },
                                {
                                    "id": "3bb85fa3-6561-4b33-be66-1345e1dd973e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "nullable|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Phone-first seller sign-in. No password is used; ReValue texts a one-time code.\n\n**Route:** `POST /api/provider/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_type` | nullable · in:ios,android,web |\n| `device_id` | nullable · string · max:255 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4acc7905-0f8c-4bd6-ac01-52ba3b472dca",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "nullable|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Phone-first seller sign-in. No password is used; ReValue texts a one-time code.\n\n**Route:** `POST /api/provider/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_type` | nullable · in:ios,android,web |\n| `device_id` | nullable · string · max:255 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6243404f-5bed-4589-84af-9397127b31d2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "nullable|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "nullable|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Phone-first seller sign-in. No password is used; ReValue texts a one-time code.\n\n**Route:** `POST /api/provider/login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `device_type` | nullable · in:ios,android,web |\n| `device_id` | nullable · string · max:255 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b37cab94-1149-4adb-a8ea-f5ba4a6413dc",
                            "name": "5. Verify login and get the token",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"needs_acceptance\",\"needApproval\",\"profileNotCompleted\",\"register_type\",\"register_nafaz\",\"fail\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"provider_token\", [\"data.token\"]);",
                                            "remember(\"access_token\", [\"data.token\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/verify-login",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "verify-login"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|digits:4",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        },
                                        {
                                            "key": "mac_address",
                                            "value": "{{mac_address}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "preferred_locale",
                                            "value": "{{lang}}",
                                            "type": "text",
                                            "description": "required|in:ar,en",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the sign-in code and stores the token in {{provider_token}} and {{access_token}}. A seller who has not finished onboarding gets `key=register_type` or `key=register_nafaz` instead of `success`, along with the token.\n\n**Route:** `POST /api/provider/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                            },
                            "response": [
                                {
                                    "id": "0e0fc9cc-c5cc-4178-9d0a-418910ef5aa1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code and stores the token in {{provider_token}} and {{access_token}}. A seller who has not finished onboarding gets `key=register_type` or `key=register_nafaz` instead of `success`, along with the token.\n\n**Route:** `POST /api/provider/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Signed in successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"name\": \"Nawaf Metals Est.\",\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\",\n        \"seller_type\": \"company\",\n        \"is_verified_nafath\": true,\n        \"is_approved\": true,\n        \"token\": \"42|sanctumSellerTokenExample\"\n    }\n}"
                                },
                                {
                                    "id": "73f81971-5817-4575-a651-f8e8c32fc37f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code and stores the token in {{provider_token}} and {{access_token}}. A seller who has not finished onboarding gets `key=register_type` or `key=register_nafaz` instead of `success`, along with the token.\n\n**Route:** `POST /api/provider/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ],\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "35421ca9-4774-4172-b3cd-17f20a3ce063",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code and stores the token in {{provider_token}} and {{access_token}}. A seller who has not finished onboarding gets `key=register_type` or `key=register_nafaz` instead of `success`, along with the token.\n\n**Route:** `POST /api/provider/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "28f00a0e-1154-410f-8f33-d21fbb85fbaf",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-login",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-login"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|exists:providers,phone",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|digits:4",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "{{lang}}",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the sign-in code and stores the token in {{provider_token}} and {{access_token}}. A seller who has not finished onboarding gets `key=register_type` or `key=register_nafaz` instead of `success`, along with the token.\n\n**Route:** `POST /api/provider/verify-login`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · exists:providers,phone |\n| `code` | required · digits:4 |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |\n\n**Saves variables:** `{{provider_token}}`, `{{access_token}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "14fcad62-2fb8-47c6-a63e-c65d8025766c",
                            "name": "6. Forgot password — send code by email",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/password/forget",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "password",
                                        "forget"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "{{provider_email}}",
                                            "type": "text",
                                            "description": "required|email|exists:providers,email",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Seller password reset still runs on email. Sends a reset code to the address on the account.\n\n**Route:** `POST /api/provider/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |"
                            },
                            "response": [
                                {
                                    "id": "335cafbc-6c09-4a49-8900-6a4a12e41a14",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller password reset still runs on email. Sends a reset code to the address on the account.\n\n**Route:** `POST /api/provider/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Confirmation code sent to your email\",\n    \"data\": {\n        \"email\": \"nawaf.metals@revalue.test\"\n    }\n}"
                                },
                                {
                                    "id": "528917e1-c657-4234-b582-5eb03e9864b9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller password reset still runs on email. Sends a reset code to the address on the account.\n\n**Route:** `POST /api/provider/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e81b223c-6c33-4a0d-a757-ae6a3fd44db7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller password reset still runs on email. Sends a reset code to the address on the account.\n\n**Route:** `POST /api/provider/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e4adcf2c-6e38-4571-b63c-968a6eba53cb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/forget",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "forget"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller password reset still runs on email. Sends a reset code to the address on the account.\n\n**Route:** `POST /api/provider/password/forget`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d19519a0-7556-411e-9c2c-7d997e4bdc72",
                            "name": "7. Forgot password — check the code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/password/check-code",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "password",
                                        "check-code"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "{{provider_email}}",
                                            "type": "text",
                                            "description": "required|email|exists:providers,email",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Validates the emailed reset code.\n\n**Route:** `POST /api/provider/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |"
                            },
                            "response": [
                                {
                                    "id": "d7dddf67-2732-4fba-9701-62f15d409768",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the emailed reset code.\n\n**Route:** `POST /api/provider/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code verified successfully\",\n    \"data\": {\n        \"email\": \"nawaf.metals@revalue.test\"\n    }\n}"
                                },
                                {
                                    "id": "1c59ca55-d986-4a74-b669-0f345500290e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the emailed reset code.\n\n**Route:** `POST /api/provider/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ],\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "dec6fd1f-7dc2-4c2c-8a19-a87981770ba3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the emailed reset code.\n\n**Route:** `POST /api/provider/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "700d22f4-0d6b-4d2a-b97f-153ee3e8614c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/check-code",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "check-code"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Validates the emailed reset code.\n\n**Route:** `POST /api/provider/password/check-code`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c2367852-a182-4693-a43f-9b28ebddfb8d",
                            "name": "8. Forgot password — set a new one",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/password/reset",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "password",
                                        "reset"
                                    ]
                                },
                                "auth": {
                                    "type": "noauth"
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "email",
                                            "value": "{{provider_email}}",
                                            "type": "text",
                                            "description": "required|email|exists:providers,email",
                                            "disabled": false
                                        },
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "password",
                                            "value": "{{provider_new_password}}",
                                            "type": "text",
                                            "description": "required|string|confirmed|min:8|letters|numbers",
                                            "disabled": false
                                        },
                                        {
                                            "key": "password_confirmation",
                                            "value": "{{provider_new_password}}",
                                            "type": "text",
                                            "description": "",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Saves the new password. It has to be repeated in `password_confirmation`.\n\n**Route:** `POST /api/provider/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |\n| `password` | required · string · confirmed · min:8 · letters · numbers |"
                            },
                            "response": [
                                {
                                    "id": "372d685d-e75f-4443-b935-1e1f6977276c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|confirmed|min:8|letters|numbers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password_confirmation",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves the new password. It has to be repeated in `password_confirmation`.\n\n**Route:** `POST /api/provider/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |\n| `password` | required · string · confirmed · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password changed successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "e9678c56-a442-41bb-a91b-ab55cba75bcd",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|confirmed|min:8|letters|numbers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password_confirmation",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves the new password. It has to be repeated in `password_confirmation`.\n\n**Route:** `POST /api/provider/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |\n| `password` | required · string · confirmed · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The email field is required.\",\n    \"errors\": {\n        \"email\": [\n            \"The email field is required.\"\n        ],\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"password\": [\n            \"The password field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2bb413a6-1248-4f89-89e7-8c7c4cbcb8fd",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|confirmed|min:8|letters|numbers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password_confirmation",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves the new password. It has to be repeated in `password_confirmation`.\n\n**Route:** `POST /api/provider/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |\n| `password` | required · string · confirmed · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "79f73b58-bc5b-486c-a107-b49122a2ff57",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/password/reset",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "password",
                                                "reset"
                                            ]
                                        },
                                        "auth": {
                                            "type": "noauth"
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "email",
                                                    "value": "{{provider_email}}",
                                                    "type": "text",
                                                    "description": "required|email|exists:providers,email",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|confirmed|min:8|letters|numbers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password_confirmation",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves the new password. It has to be repeated in `password_confirmation`.\n\n**Route:** `POST /api/provider/password/reset`\n\n**Auth:** none — this endpoint answers guests. Sending a token is optional and only enriches the response.\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `email` | required · email · exists:providers,email |\n| `code` | required · max:10 |\n| `password` | required · string · confirmed · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "9063b230-1716-46e2-965b-e9191e3c07af",
                    "name": "02 - Seller Onboarding & Nafath",
                    "description": "The stepper a new seller walks through before they may publish: choose individual or company,\r\nprove identity with Nafath, then wait for the admin decision.\r\n\r\n**Depends on:** `{{provider_token}}`. **Produces:** nothing, but the marketplace folders stay\r\nlocked (`key=needApproval`) until this finishes and an admin approves the account.",
                    "item": [
                        {
                            "id": "c2af2eab-3558-4f07-8337-7a6c084a5d10",
                            "name": "1. Choose seller type",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "register",
                                        "seller-type"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "seller_type",
                                            "value": "company",
                                            "type": "text",
                                            "description": "required|in:individual,company",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                            },
                            "response": [
                                {
                                    "id": "e3fa0eaa-d4b2-4f23-8039-b4d8f751f7da",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "seller-type"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "seller_type",
                                                    "value": "company",
                                                    "type": "text",
                                                    "description": "required|in:individual,company",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Seller account type saved successfully\",\n    \"data\": {\n        \"seller_type\": \"company\",\n        \"next_step\": \"nafath\"\n    }\n}"
                                },
                                {
                                    "id": "93d542df-e137-40c4-b826-9eed0f1e0dc4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "seller-type"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "seller_type",
                                                    "value": "company",
                                                    "type": "text",
                                                    "description": "required|in:individual,company",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The seller type field is required.\",\n    \"errors\": {\n        \"seller_type\": [\n            \"The seller type field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d9d80af9-a7c2-4607-8ea5-906ea5b496d2",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "seller-type"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "seller_type",
                                                    "value": "company",
                                                    "type": "text",
                                                    "description": "required|in:individual,company",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "54cc2654-01c4-46f9-b832-3c017f4ae98a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "seller-type"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "seller_type",
                                                    "value": "company",
                                                    "type": "text",
                                                    "description": "required|in:individual,company",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c2c8ca65-0722-4e70-bf95-b9bc94d4141f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/seller-type",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "seller-type"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "seller_type",
                                                    "value": "company",
                                                    "type": "text",
                                                    "description": "required|in:individual,company",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Individual or company. A company account is asked for a commercial register file later, during profile completion.\n\n**Route:** `POST /api/provider/register/seller-type`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `seller_type` | required · in:individual,company |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0f82161c-26b9-4fa3-8998-7ac2d76cf7d4",
                            "name": "2. Start Nafath verification",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "auth",
                                        "nafath",
                                        "initiate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "national_id",
                                            "value": "{{provider_national_id}}",
                                            "type": "text",
                                            "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                            },
                            "response": [
                                {
                                    "id": "25f79347-9659-4024-b4a0-c2372350d649",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "initiate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Nafath verification started. Select the number in the Nafath app\",\n    \"data\": {\n        \"trans_id\": \"a7f3c1d0-nafath-example\",\n        \"random\": 42,\n        \"status\": \"WAITING\",\n        \"expires_in\": 120\n    }\n}"
                                },
                                {
                                    "id": "ed6e954f-b098-4e9d-808c-b285986a46bb",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "initiate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The national id field is required.\",\n    \"errors\": {\n        \"national_id\": [\n            \"The national id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e61ac8aa-9da3-4d08-9e22-dfbcb2ae00e6",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "initiate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7ff9bbe8-4060-4333-9bc2-2174dd333add",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "initiate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "363e6dbb-6200-4eee-b533-a0ad139a7df3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/initiate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "initiate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "required|Saudi national id (starts with 1 or 2, 10 digits)|unique:providers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the national ID to Nafath and returns the number the seller has to pick inside the Nafath app.\n\n**Route:** `POST /api/provider/auth/nafath/initiate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `national_id` | required · Saudi national id (starts with 1 or 2, 10 digits) · unique:providers |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0c322d93-298b-4ed9-9e3f-17c950965601",
                            "name": "3. Resend the Nafath request",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "auth",
                                        "nafath",
                                        "resend"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "d79f1fd4-5177-4f76-b2e3-00d4e25d6e1d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "resend"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Nafath verification started. Select the number in the Nafath app\",\n    \"data\": {\n        \"trans_id\": \"b8e4d2e1-nafath-example\",\n        \"random\": 17,\n        \"status\": \"WAITING\",\n        \"expires_in\": 120\n    }\n}"
                                },
                                {
                                    "id": "92294b14-6951-4194-8abe-2cf9e835d8d0",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "resend"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "486769ba-edbd-4b1c-bef3-900d9fbbfdb7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "resend"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4a909b0b-93c7-49bf-b4da-a0642d3f4f37",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "resend"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a0622fe6-7813-4df1-8bbf-38e779afae7d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/resend",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "resend"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Starts a fresh Nafath session when the previous one timed out.\n\n**Route:** `POST /api/provider/auth/nafath/resend`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4f144a6f-bbb4-4ae9-b8f0-32317bd54ee4",
                            "name": "4. Check Nafath status",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "auth",
                                        "nafath",
                                        "status"
                                    ]
                                },
                                "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "76003fa3-c640-4c41-be9d-d189a36976db",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "status"
                                            ]
                                        },
                                        "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Nafath verification status\",\n    \"data\": {\n        \"status\": \"COMPLETED\",\n        \"is_verified_nafath\": true,\n        \"next_step\": \"complete_profile\"\n    }\n}"
                                },
                                {
                                    "id": "ca2a9499-00d3-4538-bd6f-64afbc246d2b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "status"
                                            ]
                                        },
                                        "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cbc88fa1-3d7b-4221-944f-22cfa25ac799",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "status"
                                            ]
                                        },
                                        "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c3de7a2c-e35d-4bde-9d34-5b3c34e4666e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "status"
                                            ]
                                        },
                                        "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ab049225-fa95-4d9d-b0a8-60511a2288c6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "status"
                                            ]
                                        },
                                        "description": "Polled by the app every few seconds while the seller is in the Nafath app.\n\n**Route:** `GET /api/provider/auth/nafath/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d4fd3c85-4046-41d5-b22b-02844c690b52",
                            "name": "5. Confirm the Nafath result",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "auth",
                                        "nafath",
                                        "confirm"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "88080b08-5cf6-4724-8bde-d9e5dfad84e8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "confirm"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Identity verified via Nafath successfully\",\n    \"data\": {\n        \"is_verified_nafath\": true,\n        \"next_step\": \"complete_profile\"\n    }\n}"
                                },
                                {
                                    "id": "ba88699f-30ea-4416-8135-c135588ce045",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "confirm"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "22f0b274-dea2-47a2-8ce3-acf052f9eb87",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "confirm"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f868bb97-b946-42d1-825a-9d311e54a141",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "confirm"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ac4b1334-ba2d-40ee-bbdc-cee72d69767d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/auth/nafath/confirm",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "auth",
                                                "nafath",
                                                "confirm"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Finalises verification once Nafath reports success and unlocks profile completion.\n\n**Route:** `POST /api/provider/auth/nafath/confirm`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "251f1e14-ac5b-426d-a63e-a4754f6ca422",
                            "name": "6. Where am I in registration?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "register",
                                        "status"
                                    ]
                                },
                                "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "5aa25910-1232-4864-b126-af461c2cf1bd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "status"
                                            ]
                                        },
                                        "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"seller_type\": \"company\",\n        \"is_verified_nafath\": true,\n        \"is_completed\": true,\n        \"is_approved\": false,\n        \"step\": \"waiting_approval\",\n        \"rejection_reason\": null\n    }\n}"
                                },
                                {
                                    "id": "20b9a41f-94d9-43b1-beae-aee9b704fabe",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "status"
                                            ]
                                        },
                                        "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d20d659c-1104-4a7b-bbd3-2efe65cc88fa",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "status"
                                            ]
                                        },
                                        "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "02c2fe4d-8aba-4869-8560-d64f1060c684",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "status"
                                            ]
                                        },
                                        "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "31baff7f-5919-4f11-a655-bf9d32948045",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/register/status",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "register",
                                                "status"
                                            ]
                                        },
                                        "description": "One call that tells the app which onboarding screen to show: seller type, Nafath, profile, or waiting for approval.\n\n**Route:** `GET /api/provider/register/status`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "1474ff67-b375-430c-8728-c278fd8308af",
                    "name": "03 - Profile & Account Setup",
                    "description": "Company details, documents and account settings.\r\n\r\n**Depends on:** `{{provider_token}}`, `{{city_id}}`. **Produces:** nothing — but \"Complete\r\nprofile\" is what puts the account in front of an admin for approval.",
                    "item": [
                        {
                            "id": "bccea9e5-1fc7-44cf-bab7-d709bc34ef09",
                            "name": "My profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "profile"
                                    ]
                                },
                                "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "14ac15b9-2600-4a56-8a7f-7afd4b5685f1",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 7,\n        \"name\": \"Nawaf Al-Qahtani\",\n        \"company_name\": \"Nawaf Metals Est.\",\n        \"phone\": \"533221100\",\n        \"country_code\": \"966\",\n        \"city\": {\n            \"id\": 1,\n            \"name\": \"Riyadh\"\n        },\n        \"seller_type\": \"company\",\n        \"is_verified_nafath\": true,\n        \"is_approved\": true,\n        \"rating\": 4.6,\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "88bb7f05-ee05-4dfa-a1fc-aa401193d506",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a23dfbaf-1b6c-461b-828e-9ac52c87abde",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7cb6456d-8078-44d1-a595-4192bd298424",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "cf64dc3d-6672-4893-8d11-54786200382f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile"
                                            ]
                                        },
                                        "description": "The seller account screen: company data, documents, approval state, rating and wallet summary.\n\n**Route:** `GET /api/provider/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "16616450-747f-427d-87fb-0b02205d80ba",
                            "name": "Complete my profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "profile",
                                        "complete"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Nawaf Al-Qahtani",
                                            "type": "text",
                                            "description": "required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "map_desc",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "company_name",
                                            "value": "Nawaf Metals Est.",
                                            "type": "text",
                                            "description": "required|string|min:2|max:150",
                                            "disabled": false
                                        },
                                        {
                                            "key": "commercial_register",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                            "disabled": false
                                        },
                                        {
                                            "key": "image",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|max:5120",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                            },
                            "response": [
                                {
                                    "id": "a48fb2cf-b961-42d1-8539-22784d07b106",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf Al-Qahtani",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "commercial_register",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Profile completed successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"company_name\": \"Nawaf Metals Est.\",\n        \"is_completed\": true,\n        \"is_approved\": false,\n        \"step\": \"waiting_approval\"\n    }\n}"
                                },
                                {
                                    "id": "6e7379a4-bc55-4a95-a55a-580b2f472216",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf Al-Qahtani",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "commercial_register",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"city_id\": [\n            \"The city id field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "efbf5076-77e1-4424-8bba-bb903097cb65",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf Al-Qahtani",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "commercial_register",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "8c0681b4-7882-4cf7-8d9e-ab591c0377a3",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf Al-Qahtani",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "commercial_register",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1918c715-ae01-4156-a3ff-8ec8169c7702",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/complete",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "complete"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf Al-Qahtani",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "map_desc",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "commercial_register",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|file|mimes:jpg,jpeg,png,pdf|max:5120",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The registration form: contact name, company name, city, yard location and the commercial register document. The file is required — pick a JPG, PNG or PDF.\n\n**Route:** `POST /api/provider/profile/complete`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | required · string · min:2 · max:100 |\n| `city_id` | required · integer · exists:cities,id |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `map_desc` | required · string · max:500 |\n| `company_name` | required · string · min:2 · max:150 |\n| `commercial_register` | required · file · mimes:jpg,jpeg,png,pdf · max:5120 |\n| `image` | nullable · image · max:5120 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c415a0b7-c162-4c25-8d3c-92137794e7a2",
                            "name": "Update my profile",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "update",
                                        "profile"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "name",
                                            "value": "Nawaf A. Al-Qahtani",
                                            "type": "text",
                                            "description": "sometimes|required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "company_name",
                                            "value": "Nawaf Metals Establishment",
                                            "type": "text",
                                            "description": "sometimes|nullable|string|min:2|max:150",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "sometimes|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_phone}}",
                                            "type": "text",
                                            "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                            "disabled": false
                                        },
                                        {
                                            "key": "national_id",
                                            "value": "{{provider_national_id}}",
                                            "type": "text",
                                            "description": "sometimes|Saudi national id|unique:providers",
                                            "disabled": false
                                        },
                                        {
                                            "key": "iban",
                                            "value": "{{iban}}",
                                            "type": "text",
                                            "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                            "disabled": false
                                        },
                                        {
                                            "key": "image",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                            },
                            "response": [
                                {
                                    "id": "9b5af336-1171-4840-84f7-749a6a85abfd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf A. Al-Qahtani",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Establishment",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"company_name\": \"Nawaf Metals Establishment\",\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "0b235570-9589-4ff9-8341-134a2eda56a1",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf A. Al-Qahtani",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Establishment",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The name field is required.\",\n    \"errors\": {\n        \"name\": [\n            \"The name field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "69061925-f9c9-4225-a0cf-8f2066d51a2e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf A. Al-Qahtani",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Establishment",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "84d4f7df-18e8-40d0-9398-b3aff6a99758",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf A. Al-Qahtani",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Establishment",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a4b1d385-0309-4112-8260-0a4d8cf6ed79",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update/profile",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update",
                                                "profile"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "name",
                                                    "value": "Nawaf A. Al-Qahtani",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "company_name",
                                                    "value": "Nawaf Metals Establishment",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|min:2|max:150",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required_with:phone|sometimes|numeric|digits_between:2,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_phone}}",
                                                    "type": "text",
                                                    "description": "required_with:country_code|sometimes|numeric|digits_between:9,10|starts_with:5|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "national_id",
                                                    "value": "{{provider_national_id}}",
                                                    "type": "text",
                                                    "description": "sometimes|Saudi national id|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "sometimes|nullable|string|size:24|regex:SA + 22 digits|unique:providers",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "image",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpg,jpeg,png|max:5120",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Edits any subset of the seller profile, including the payout IBAN. Changing the phone requires both `country_code` and `phone` together.\n\n**Route:** `POST /api/provider/update/profile`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `name` | sometimes · required · string · min:2 · max:100 |\n| `country_code` | required_with:phone · sometimes · numeric · digits_between:2,5 |\n| `phone` | required_with:country_code · sometimes · numeric · digits_between:9,10 · starts_with:5 · unique:providers |\n| `national_id` | sometimes · Saudi national id · unique:providers |\n| `iban` | sometimes · nullable · string · size:24 · regex:SA + 22 digits · unique:providers |\n| `image` | nullable · image · mimes:jpg,jpeg,png · max:5120 |\n| `city_id` | sometimes · integer · exists:cities,id |\n| `company_name` | sometimes · nullable · string · min:2 · max:150 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "26861660-b1e4-4ec3-913a-830aaf79d740",
                            "name": "Remove my logo",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "profile",
                                        "image"
                                    ]
                                },
                                "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "b82b20e4-06a9-4151-9090-3ff773ef870d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"id\": 7,\n        \"image\": null\n    }\n}"
                                },
                                {
                                    "id": "794544e2-41e9-4a36-a5c9-2964c95ccd0f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9c89be4d-647b-4baf-a04c-7f39de9abc49",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7316e1dc-189c-454b-ae9f-6736ba40ba6b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "dffd030c-7e94-4201-a30f-198fcc8253ab",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/profile/image",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "profile",
                                                "image"
                                            ]
                                        },
                                        "description": "Deletes the seller logo/photo and falls back to the default placeholder.\n\n**Route:** `DELETE /api/provider/profile/image`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c2c35db7-eb91-4866-9089-14465822a4a2",
                            "name": "Check my current password",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "check-password"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "password",
                                            "value": "{{provider_password}}",
                                            "type": "text",
                                            "description": "required — must match the password on file",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                            },
                            "response": [
                                {
                                    "id": "c4a680e4-7bbc-4598-9522-401602ad903a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password verified successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "54e6ef53-01a4-4b77-b935-59a7ece355ff",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The password field is required.\",\n    \"errors\": {\n        \"password\": [\n            \"The password field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "656289d8-d61c-49f4-8d4b-fd78f4362914",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "43954334-c7d8-469f-82fb-4532c1ae6220",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ef201e32-3335-44f5-b72b-462686ae36a7",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/check-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "check-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required — must match the password on file",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Confirms the password before sensitive screens open.\n\n**Route:** `POST /api/provider/check-password`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `password` | required — must match the password on file |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "35d5a948-a58f-4881-98e5-25d3aaf71d12",
                            "name": "Change my password",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "update-password"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "old_password",
                                            "value": "{{provider_password}}",
                                            "type": "text",
                                            "description": "required|min:6|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "password",
                                            "value": "{{provider_new_password}}",
                                            "type": "text",
                                            "description": "required|string|min:8|letters|numbers",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                            },
                            "response": [
                                {
                                    "id": "b112d6d5-7078-4dce-a256-68a6b0be72c9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Password changed successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "819ce453-72c9-4f81-9b44-9bfb7744c833",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The old password field is required.\",\n    \"errors\": {\n        \"old_password\": [\n            \"The old password field is required.\"\n        ],\n        \"password\": [\n            \"The password field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "22e380c0-a0d0-4f1d-8049-e17d5b1589a8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2c6d8102-f08b-4b93-b3e5-e0d993b5de13",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "db21022c-0901-4174-85af-ed635384862c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/update-password",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "update-password"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "old_password",
                                                    "value": "{{provider_password}}",
                                                    "type": "text",
                                                    "description": "required|min:6|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "password",
                                                    "value": "{{provider_new_password}}",
                                                    "type": "text",
                                                    "description": "required|string|min:8|letters|numbers",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Swaps the password; the new one must differ from the current one.\n\n**Route:** `PATCH /api/provider/update-password`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `old_password` | required · min:6 · max:100 |\n| `password` | required · string · min:8 · letters · numbers |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "920db5fe-f02b-4b34-95fb-3fb9c3da0f94",
                            "name": "Change app language",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "change-lang"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_id",
                                            "value": "{{device_id}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "device_type",
                                            "value": "{{device_type}}",
                                            "type": "text",
                                            "description": "required|in:ios,android,web",
                                            "disabled": false
                                        },
                                        {
                                            "key": "mac_address",
                                            "value": "{{mac_address}}",
                                            "type": "text",
                                            "description": "required|max:250",
                                            "disabled": false
                                        },
                                        {
                                            "key": "preferred_locale",
                                            "value": "ar",
                                            "type": "text",
                                            "description": "required|in:ar,en",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                            },
                            "response": [
                                {
                                    "id": "ac7eb022-e2f1-4af2-b5c8-ce26a843245d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account updated successfully\",\n    \"data\": {\n        \"preferred_locale\": \"ar\"\n    }\n}"
                                },
                                {
                                    "id": "2b9014e5-5375-4024-ae29-e99d07a65558",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The device id field is required.\",\n    \"errors\": {\n        \"device_id\": [\n            \"The device id field is required.\"\n        ],\n        \"device_type\": [\n            \"The device type field is required.\"\n        ],\n        \"mac_address\": [\n            \"The mac address field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "496a1bb9-b524-4a72-983b-b3caab7afaa7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "030d3933-768b-4c15-9c48-957681ca889f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c63e688c-1bf4-44cf-8a26-9b58a11604d6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/change-lang",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "change-lang"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_id",
                                                    "value": "{{device_id}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "device_type",
                                                    "value": "{{device_type}}",
                                                    "type": "text",
                                                    "description": "required|in:ios,android,web",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "mac_address",
                                                    "value": "{{mac_address}}",
                                                    "type": "text",
                                                    "description": "required|max:250",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "preferred_locale",
                                                    "value": "ar",
                                                    "type": "text",
                                                    "description": "required|in:ar,en",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stores the language for this device so alerts about bids and orders arrive in the right one.\n\n**Route:** `PATCH /api/provider/change-lang`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `device_id` | required · max:250 |\n| `device_type` | required · in:ios,android,web |\n| `mac_address` | required · max:250 |\n| `preferred_locale` | required · in:ar,en |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "442cf1ff-1aa6-4826-a68b-6ef6800dea8f",
                            "name": "Message support",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "contact"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "message",
                                            "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                            "type": "text",
                                            "description": "required|string",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                            },
                            "response": [
                                {
                                    "id": "68ef3b2b-d275-40e4-a343-355d648a8fb0",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Your message was sent successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "874fbebb-6a93-42f6-9877-abab6357a53e",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "c34c2039-057c-4bc2-a3c4-a4720f5e91d5",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The message field is required.\",\n    \"errors\": {\n        \"message\": [\n            \"The message field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4ac80f01-cf15-4bf1-a82a-7c7d88b639b8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c38be691-767c-481b-97b3-d4e7dd54c252",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "988b4c40-198e-4e02-b5c4-2590f34981db",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/contact",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "contact"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "message",
                                                    "value": "A buyer did not show up for the pickup on order 501 — how do I report the no-show?",
                                                    "type": "text",
                                                    "description": "required|string",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends a support message from the seller app.\n\n**Route:** `POST /api/provider/contact`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `message` | required · string |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "bcdaa880-0436-4774-9547-611088bcbcdb",
                    "name": "04 - Phone Number Change",
                    "description": "Moving the seller account to a new SIM: prove the old number, then the new one.\r\n\r\n**Depends on:** `{{provider_token}}`, `{{provider_new_phone}}`.",
                    "item": [
                        {
                            "id": "f4ca5831-c138-47da-ad2c-6b41e225a2fa",
                            "name": "1. Send a code to my current phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "send-code-to-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "49bec5d5-078d-4435-83f6-27979ee76700",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code sent to phone number\",\n    \"data\": {\n        \"phone\": \"533221100\"\n    }\n}"
                                },
                                {
                                    "id": "907e62c7-061a-451d-9161-46bbe49ee6b8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c279fa28-0ab4-402f-9fba-b56fe4ea0fdc",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1c988c5c-c928-4f0b-aec7-663473f4f64f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d2c18257-5a96-43f5-ad79-9824a74c26cf",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Texts a code to the number on the account. No body needed.\n\n**Route:** `POST /api/provider/send-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e671f84c-5e06-4761-b2b5-56d3f98d4f8c",
                            "name": "2. Resend that code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "resend-code-to-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "ea1af89f-23e5-491b-80c4-f2b0534f8ffd",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"533221100\"\n    }\n}"
                                },
                                {
                                    "id": "b5f2df02-b00f-4c82-ad5a-cb9e95852fe8",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "af2b56a4-20f5-478f-8902-55fcb22580af",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "abc2045d-6ecc-4abe-a7c8-0bdc1d4fb280",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3a239133-893a-4f1a-b920-9d1430200249",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Sends the same code again.\n\n**Route:** `POST /api/provider/resend-code-to-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "7626874c-b6b7-42ca-827a-0c3433f74f61",
                            "name": "3. Confirm the current phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "verify-old-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|string|digits_between:4,6",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                            },
                            "response": [
                                {
                                    "id": "b8da4d12-9cc5-4da0-bb1c-d9239e1d8592",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Safety code verified successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "9c060d83-fee5-4e69-a240-31271488551d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0b7979eb-3264-46a7-916e-4c9835b85b9f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "0a6da2cd-02ea-4f16-a9c2-2dfff851e2a8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "7ecb1ae4-b14d-4202-b12e-bd601d78d030",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-old-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-old-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Proves the seller still holds the old SIM.\n\n**Route:** `POST /api/provider/verify-old-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "71b0e259-645a-4ac5-8fed-3a8bbdf93117",
                            "name": "4. Send a code to the new phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "send-code-to-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "14a7b6fc-47d6-4a58-bad8-4716eb1dbb0e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code sent to new phone number\",\n    \"data\": {\n        \"phone\": \"533221101\"\n    }\n}"
                                },
                                {
                                    "id": "95336e49-e0d2-4703-a516-fe0bab2fbdae",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "f80ddc4b-b23e-4ea1-861e-35445b5b0df1",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "3e7cf65a-5df5-4713-b0ce-6c0257974ce4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "90ad9fdb-fe43-47a5-97bb-75b9863f7078",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/send-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "send-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Texts a code to the new number, which must not belong to another seller.\n\n**Route:** `POST /api/provider/send-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "01ddd13d-aae0-4681-98b2-5d3e465573d3",
                            "name": "5. Resend the new-phone code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "resend-code-to-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "90a8deb9-bba1-474e-8c27-e97a7645fc2f",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code resend successfully\",\n    \"data\": {\n        \"phone\": \"533221101\"\n    }\n}"
                                },
                                {
                                    "id": "957097a9-1ae9-4f61-a189-d89cd6a1c479",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1af3d0e0-1656-47a1-a67e-75c3fd1e63af",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "80c58c0c-bc71-4034-9db8-dfcce9c74a92",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "65508e83-95f1-4431-aee2-7757893a282f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/resend-code-to-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "resend-code-to-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sends the new-number code again.\n\n**Route:** `POST /api/provider/resend-code-to-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cb37b926-e7ec-49f3-acc3-569209b37e9c",
                            "name": "6. Confirm the new phone",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "verify-new-phone"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "code",
                                            "value": "{{otp_code}}",
                                            "type": "text",
                                            "description": "required|string|digits_between:4,6",
                                            "disabled": false
                                        },
                                        {
                                            "key": "country_code",
                                            "value": "{{country_code}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:1,5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "phone",
                                            "value": "{{provider_new_phone}}",
                                            "type": "text",
                                            "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                            },
                            "response": [
                                {
                                    "id": "70512e63-5154-4f43-8741-c2b1ed4e440c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Phone number updated successfully\",\n    \"data\": {\n        \"phone\": \"533221101\",\n        \"country_code\": \"966\"\n    }\n}"
                                },
                                {
                                    "id": "61603cf8-5983-4529-99b6-f8dc38a7a4eb",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ],\n        \"country_code\": [\n            \"The country code field is required.\"\n        ],\n        \"phone\": [\n            \"The phone field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9fd0b88c-2d1d-4e6b-97b6-ea256f096857",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "3fe01e6d-2041-4afa-8bd4-c5affc18bd54",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "2ab27ddf-1b8b-404a-b602-837a99f56ac3",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/verify-new-phone",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "verify-new-phone"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{otp_code}}",
                                                    "type": "text",
                                                    "description": "required|string|digits_between:4,6",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "country_code",
                                                    "value": "{{country_code}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:1,5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "phone",
                                                    "value": "{{provider_new_phone}}",
                                                    "type": "text",
                                                    "description": "required|numeric|digits_between:9,10|unique:providers,phone|starts_with:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Final step — the seller now signs in with the new number.\n\n**Route:** `POST /api/provider/verify-new-phone`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · digits_between:4,6 |\n| `country_code` | required · numeric · digits_between:1,5 |\n| `phone` | required · numeric · digits_between:9,10 · unique:providers,phone · starts_with:5 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "e73c9817-fd61-4fc6-b193-c46ca41f9f12",
                    "name": "05 - Pickup Addresses",
                    "description": "Where buyers come to collect. Sellers usually keep one yard address as the default.\r\n\r\n**Produces:** `{{address_id}}`. **Depends on:** `{{provider_token}}`.",
                    "item": [
                        {
                            "id": "fa381d0a-7c8d-4b5d-92f5-d72b916d880a",
                            "name": "My addresses",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"address_id\", [\"data.0.id\",\"data.data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "addresses"
                                    ]
                                },
                                "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1ee2ce5b-4583-43c7-bc97-7d78effe4380",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 3,\n            \"label\": \"work\",\n            \"address\": \"Al Sulay industrial area, Riyadh — yard 8\",\n            \"lat\": 24.688,\n            \"lng\": 46.721,\n            \"is_default\": true\n        }\n    ]\n}"
                                },
                                {
                                    "id": "b24611a1-5b2d-42d5-a7a6-d9da92f5fff3",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9325cf43-a6d1-40e3-8bfa-7590966883af",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4d17f179-bd56-44ed-aa2c-1e8695b3e6bc",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4f7cfe6e-a69a-4172-9055-768ad0166b52",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "description": "Saved yard and office addresses, default first.\n\n**Route:** `GET /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "91afbfde-007d-4185-959e-b2c20d66ac4a",
                            "name": "Add an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"address_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "addresses"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "label",
                                            "value": "work",
                                            "type": "text",
                                            "description": "required|in:home,work,other",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "address",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "is_default",
                                            "value": "1",
                                            "type": "text",
                                            "description": "nullable|boolean",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "50a2fe24-d745-4822-b5d3-9ac069584bd9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 4,\n        \"label\": \"work\",\n        \"address\": \"Al Sulay industrial area, Riyadh — yard 8, gate B\",\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "d8bbc8b3-10ad-4914-991d-edaed6bba6de",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 4,\n        \"label\": \"work\",\n        \"address\": \"Al Sulay industrial area, Riyadh — yard 8, gate B\",\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "ede8752f-5ca6-48d5-a22a-c829a383de39",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The label field is required.\",\n    \"errors\": {\n        \"label\": [\n            \"The label field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ],\n        \"lng\": [\n            \"The lng field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "429957df-5461-4b92-9859-dffcdd74818b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "fd6e7ed1-4126-457d-9cc8-e700f86b4f1d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ed678141-8241-4b92-beef-346eb26625ae",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "is_default",
                                                    "value": "1",
                                                    "type": "text",
                                                    "description": "nullable|boolean",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Saves a new pickup point buyers can be sent to.\n\n**Route:** `POST /api/provider/addresses`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | required · in:home,work,other |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `address` | required · string · max:500 |\n| `is_default` | nullable · boolean |\n\n**Saves variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e3d3cf8c-3cf2-463f-89f2-d493b2ac829c",
                            "name": "Edit an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "addresses",
                                        "{{address_id}}"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PUT",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "label",
                                            "value": "work",
                                            "type": "text",
                                            "description": "sometimes|required|in:home,work,other",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.690500",
                                            "type": "text",
                                            "description": "sometimes|required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.725000",
                                            "type": "text",
                                            "description": "sometimes|required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "address",
                                            "value": "Al Sulay industrial area, Riyadh — yard 12",
                                            "type": "text",
                                            "description": "sometimes|required|string|max:500",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "5aca46f3-1ed2-4ff5-8e3d-5a57917f8fe9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.690500",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.725000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 12",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 4,\n        \"address\": \"Al Sulay industrial area, Riyadh — yard 12\"\n    }\n}"
                                },
                                {
                                    "id": "f698bde3-4c9a-4d63-802e-ea3e54c7cf1d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.690500",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.725000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 12",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The label field is required.\",\n    \"errors\": {\n        \"label\": [\n            \"The label field is required.\"\n        ],\n        \"lat\": [\n            \"The lat field is required.\"\n        ],\n        \"lng\": [\n            \"The lng field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3e65c8aa-fd1e-4f54-82c2-603a7a0ae7ad",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.690500",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.725000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 12",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d46eda9e-d59f-4843-9627-f4bffdba9079",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.690500",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.725000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 12",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a0d64dbf-0a4d-4897-a856-a85259b46aae",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PUT",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PUT.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "label",
                                                    "value": "work",
                                                    "type": "text",
                                                    "description": "sometimes|required|in:home,work,other",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.690500",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.725000",
                                                    "type": "text",
                                                    "description": "sometimes|required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "address",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 12",
                                                    "type": "text",
                                                    "description": "sometimes|required|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates address {{address_id}} — for example when the yard moves to another gate.\n\n**Route:** `PUT /api/provider/addresses/{address}`\n\n**Sent as:** `POST` with a `_method=PUT` form field — Laravel reads that field and routes the call as a real PUT.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `label` | sometimes · required · in:home,work,other |\n| `lat` | sometimes · required · numeric · between:-90,90 |\n| `lng` | sometimes · required · numeric · between:-180,180 |\n| `address` | sometimes · required · string · max:500 |\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "bf768f10-8e22-4fb2-a0b0-867aa4f334da",
                            "name": "Make this the default address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "addresses",
                                        "{{address_id}}",
                                        "default"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "aa0e7062-9742-47d1-ab8c-55dd86985815",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 4,\n        \"is_default\": true\n    }\n}"
                                },
                                {
                                    "id": "fddab216-2415-4660-b824-0c9c6d935c72",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bc97521f-ff57-4b83-9066-b9373fb7b4a8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "032bd531-e0af-43fc-9bc1-ea4aa577c3ee",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c4a2cb81-40d9-468c-b36e-3e040c61505a",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}/default",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}",
                                                "default"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{address_id}} as the address new listings are pinned to.\n\n**Route:** `PATCH /api/provider/addresses/{address}/default`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "98130d1c-6717-4dd5-8e42-dde903a8ba0e",
                            "name": "Delete an address",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "addresses",
                                        "{{address_id}}"
                                    ]
                                },
                                "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                            },
                            "response": [
                                {
                                    "id": "d8ab0450-901e-4004-ab8b-3f723f3b94eb",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 4\n}"
                                },
                                {
                                    "id": "a15446e9-054e-4799-8bc0-1542da965c6a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9f5fb659-d4eb-4bbd-8d9c-47fb5ab6ea30",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ed3791bc-fca8-48ab-8465-632a991b5827",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "888ed086-575e-4b16-bf62-0006c361388c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/addresses/{{address_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "addresses",
                                                "{{address_id}}"
                                            ]
                                        },
                                        "description": "Removes {{address_id}} from the seller address book.\n\n**Route:** `DELETE /api/provider/addresses/{address}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{address_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "39e65a8e-e2b3-4010-8991-fa54e3a4b723",
                    "name": "06 - Notifications",
                    "description": "Alerts about new bids, accepted price offers, approvals and payouts.\r\n\r\n**Produces:** `{{notification_id}}`. **Depends on:** `{{provider_token}}`.",
                    "item": [
                        {
                            "id": "7a7eb1df-6f96-4028-b8ad-94d4e48cc687",
                            "name": "My notifications",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"notification_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "notifications"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "unread",
                                            "description": "Optional. `unread` returns only unread items.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7eca1f71-8a3c-43d0-b8c8-4a10246e5829",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"7c2b1a90-2222-4c3d-9e4f-5a6b7c8d9e01\",\n                \"title\": \"New bid\",\n                \"body\": \"Your lot #1042 received a bid of 5,250 SAR.\",\n                \"is_read\": false,\n                \"created_at\": \"2026-08-23T09:31:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "9f63f142-c796-4227-a091-253b450476ed",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "911c5e7c-bdbc-46b4-a365-54c1e71f83db",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "fd24ef1a-6bb6-4ed2-899a-20789d87477e",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a1b37986-271e-41e9-bd64-068f642e2a33",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications?type=unread",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Notification feed for the seller. Ask for `type=unread` to get only unopened items.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |\n\n**Saves variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "bbf5ae83-5e34-470e-b186-c7f84f45ac9e",
                            "name": "My notifications (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "notifications"
                                    ],
                                    "query": [
                                        {
                                            "key": "type",
                                            "value": "unread",
                                            "description": "Optional. `unread` returns only unread items.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                            },
                            "response": [
                                {
                                    "id": "5fbcf595-3fd7-47c2-aaa1-bdff9a39c38a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": \"7c2b1a90-2222-4c3d-9e4f-5a6b7c8d9e01\",\n                \"title\": \"New bid\",\n                \"body\": \"Your lot #1042 received a bid of 5,250 SAR.\",\n                \"is_read\": false,\n                \"created_at\": \"2026-08-23T09:31:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "36d97826-1e69-4535-9c42-7f0897b09495",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "dd3820c8-5960-4608-8bd3-77f5ffcdee2d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "be4fde26-7b1b-4045-a3e1-955149ee85d0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "32b6eaae-99c4-4eee-a870-d0b687e124b0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications"
                                            ],
                                            "query": [
                                                {
                                                    "key": "type",
                                                    "value": "unread",
                                                    "description": "Optional. `unread` returns only unread items.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My notifications\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `type` | `unread` | Optional. `unread` returns only unread items. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3b47f6c7-cf35-478e-aa65-72d8a21b3266",
                            "name": "Unread badge count",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "count-notifications"
                                    ]
                                },
                                "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "905aabdb-7fc2-4911-a0d5-4dfaf2501fc7",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"count\": 5\n    }\n}"
                                },
                                {
                                    "id": "ce5cda36-95a0-4f75-9ce8-c27aed43c34e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2161bd70-2dcf-4c60-924f-fbcdf98aa976",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "9dec5e46-5fa0-4073-af65-a9b8711017c3",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f3a62aca-b6af-4f84-be73-b9010355ceb0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/count-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "count-notifications"
                                            ]
                                        },
                                        "description": "The number for the bell badge.\n\n**Route:** `GET /api/provider/count-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "36d77909-ff29-4270-915c-f73272cfc28c",
                            "name": "Mark everything as read",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "notifications",
                                        "read-all"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "e674d03c-215f-4765-9c7e-8522e05f1bd9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "8ec9ba35-00ff-4196-bc72-b78b1216a167",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6aff15c6-b95d-406e-930b-80ebfba6adba",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c45528ad-3c7f-4e7f-b289-1d3e8aa717bf",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "43bb4b15-61d7-49c3-9b74-5e428ee1b41b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/read-all",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "read-all"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Clears the badge in one call.\n\n**Route:** `PATCH /api/provider/notifications/read-all`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c198e566-a47f-4683-9d4e-781e8c7f2c85",
                            "name": "Mark one as read",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "notifications",
                                        "{{notification_id}}",
                                        "read"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "fa3cfed8-f798-4538-805f-87086eba7a86",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "8f3c2224-1ba8-4ada-8a12-ec46f9768c22",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fe5ebaf4-a892-4258-b9a8-0f946fec39ed",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "dafab94e-0820-465c-aaf1-04c54dd406cc",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c16c9605-f9ac-4499-b19e-cafac74d05ad",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/notifications/{{notification_id}}/read",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "notifications",
                                                "{{notification_id}}",
                                                "read"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Marks {{notification_id}} as opened.\n\n**Route:** `PATCH /api/provider/notifications/{notification_id}/read`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "721bb31e-20c9-4045-9a1c-3f41ee2bbe8c",
                            "name": "Delete one notification",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "delete-notification",
                                        "{{notification_id}}"
                                    ]
                                },
                                "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                            },
                            "response": [
                                {
                                    "id": "f75806ed-f428-443b-85ce-a54ad034bcc4",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "2441afef-eb76-4d2a-9d69-9c5c4e617073",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "47c0cb82-9c0a-4c77-9fe7-59de65af752e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "deee17e6-4d32-451e-b7da-c6918741339f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "babe9495-2a0c-4f59-b2c9-8b19dfd7f758",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notification/{{notification_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notification",
                                                "{{notification_id}}"
                                            ]
                                        },
                                        "description": "Removes {{notification_id}} from the feed.\n\n**Route:** `DELETE /api/provider/delete-notification/{notification_id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{notification_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c9b6c3e3-e646-4565-b47d-7974e637a07e",
                            "name": "Clear the whole feed",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "delete-notifications"
                                    ]
                                },
                                "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "e16b2bcb-827c-4bad-9f78-c5f02a631e13",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "ec6389c1-54c0-4ced-9b86-50f309bed91b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b9b9d4ce-c2fb-4cab-989c-23fb28a92696",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5f384878-f1dd-4739-a6d8-6ffd044d61be",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "90c51cea-6f9b-4284-9eaa-d420b271386d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-notifications",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-notifications"
                                            ]
                                        },
                                        "description": "Deletes every notification for this seller.\n\n**Route:** `DELETE /api/provider/delete-notifications`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "322fd41b-eee5-4a2e-90a8-294f24183592",
                            "name": "Mute / unmute notifications",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "switch-notify"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "_method",
                                            "value": "PATCH",
                                            "type": "text",
                                            "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "f8fd616e-3b44-488b-92ad-5e266303ce35",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"is_notify\": false\n    }\n}"
                                },
                                {
                                    "id": "37e88bfd-5022-4981-98cb-28fa4d418cf1",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cc28a9f6-0bc3-44d4-be8c-f627032c14a4",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "d3766513-6b28-4420-a5ba-286392886df4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "52205f73-d101-4106-b194-04fbf7ac23a4",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/switch-notify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "switch-notify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "_method",
                                                    "value": "PATCH",
                                                    "type": "text",
                                                    "description": "Laravel method spoofing — tells Laravel to route this as PATCH.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Flips the push-notification switch on the seller account.\n\n**Route:** `PATCH /api/provider/switch-notify`\n\n**Sent as:** `POST` with a `_method=PATCH` form field — Laravel reads that field and routes the call as a real PATCH.\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "442c5409-040f-4021-a434-cf6f01077301",
                    "name": "07 - Dashboard & Performance",
                    "description": "The seller home screen and the numbers behind it.\r\n\r\n**Depends on:** `{{provider_token}}` and an approved account — an unapproved seller gets\r\n`key=needApproval` here.",
                    "item": [
                        {
                            "id": "862640aa-e5a7-4c33-a5a0-162581400a6b",
                            "name": "Seller dashboard",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "home"
                                    ]
                                },
                                "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "5ca42fce-525f-4d92-a8f5-3944d4da0ee2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"greeting\": \"Good morning, Nawaf\",\n        \"stats\": {\n            \"active_listings\": 4,\n            \"live_bids\": 11,\n            \"orders_in_progress\": 2,\n            \"wallet_balance\": 18450.75\n        },\n        \"active_auctions\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Copper cable offcuts\",\n                \"current_price\": 5250,\n                \"bidders\": 4,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n            }\n        ],\n        \"ongoing_orders\": [\n            {\n                \"id\": 501,\n                \"status\": \"pending_inspection\",\n                \"buyer\": \"Faisal A.\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c89023da-93f2-4179-9646-f2f7392d39ff",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "141f6bd7-21b9-4f60-82dc-5df45cd64fe8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "080e7eeb-2c83-421b-947f-8e5660be1f61",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6c086064-c157-4822-94f3-653012ca0ed0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/home",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "home"
                                            ]
                                        },
                                        "description": "Greeting, headline stats, auctions that are running and orders waiting on the seller.\n\n**Route:** `GET /api/provider/home`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "eb674abe-5e5b-4dc0-9005-ad8070290210",
                            "name": "Performance report",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "month",
                                            "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                            },
                            "response": [
                                {
                                    "id": "8fb4e492-5bbb-47a3-9a67-58c7e8257b8b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"period\": \"month\",\n        \"sales_total\": 84200.5,\n        \"orders_completed\": 12,\n        \"completion_rate\": 0.92,\n        \"average_rating\": 4.6,\n        \"chart\": [\n            {\n                \"label\": \"2026-08-01\",\n                \"value\": 5200\n            },\n            {\n                \"label\": \"2026-08-08\",\n                \"value\": 12400\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1051811d-1663-40bd-ac90-ce258696e8bc",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9dc8b015-7198-429b-ae9b-a02bc55e9708",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cbe029b6-55eb-4a5f-b87f-4a2ca48046fb",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a24b7155-1e46-4ee7-82be-6302df6dd2b6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=month",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sales, completion rate and rating over a period. An unknown `period` quietly falls back to today.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3edd2352-fcb7-4a3c-b3b8-a7e35e2d0c43",
                            "name": "Performance report (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "month",
                                            "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                            },
                            "response": [
                                {
                                    "id": "dba4945b-610d-4622-beda-931f09288749",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"period\": \"month\",\n        \"sales_total\": 84200.5,\n        \"orders_completed\": 12,\n        \"completion_rate\": 0.92,\n        \"average_rating\": 4.6,\n        \"chart\": [\n            {\n                \"label\": \"2026-08-01\",\n                \"value\": 5200\n            },\n            {\n                \"label\": \"2026-08-08\",\n                \"value\": 12400\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fbfed3de-06b5-4068-bab5-d23bf12ceaad",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "1230814e-81bf-4f1a-b1f7-e70f805da9db",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ce347e4e-16ce-4786-bed8-587d4ac35a9d",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "48bbefe7-52d5-4533-a89f-8936edb27af4",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year. Unknown values fall back to today.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. Unknown values fall back to today. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2bc8a7f1-9c85-4852-b095-479bad681871",
                            "name": "Export the performance report",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance",
                                        "export"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "month",
                                            "description": "Optional. today, week, month or year.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "format",
                                            "value": "pdf",
                                            "description": "Optional. pdf or xls. Default pdf.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                            },
                            "response": [
                                {
                                    "id": "285826d2-6669-4be5-b794-f94e034094ab",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"file_url\": \"https://revalue.test/storage/reports/performance-2026-08.pdf\",\n        \"format\": \"pdf\"\n    }\n}"
                                },
                                {
                                    "id": "988292d8-b188-43ba-84d6-1213092028eb",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8db19e01-4dba-43a0-8b48-0f34e998ec8b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "85529473-d728-41d2-b72f-85db67f9570c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0763ef07-4c87-4876-b3f8-1f44741ec96c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=month&format=pdf",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Same numbers as a downloadable file. Choose PDF for sharing or XLS for accounting.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "bcfe638b-3b19-4c78-9c02-2bb435d34e59",
                            "name": "Export the performance report (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance",
                                        "export"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "month",
                                            "description": "Optional. today, week, month or year.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "format",
                                            "value": "pdf",
                                            "description": "Optional. pdf or xls. Default pdf.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                            },
                            "response": [
                                {
                                    "id": "e524df6c-6ce0-48a1-818d-fbc6b777e124",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"file_url\": \"https://revalue.test/storage/reports/performance-2026-08.pdf\",\n        \"format\": \"pdf\"\n    }\n}"
                                },
                                {
                                    "id": "b2c63bca-9dde-42e0-bdc0-e49c6a532f6a",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "bb9787c1-4c7b-433c-831e-df82f6e23d91",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "55c44d34-27d8-472e-9128-f0067a6b1ad8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0a6619d2-9837-44e9-b052-79edb09d48a8",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "month",
                                                    "description": "Optional. today, week, month or year.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "pdf",
                                                    "description": "Optional. pdf or xls. Default pdf.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Export the performance report\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `month` | Optional. today, week, month or year. |\n| `format` | `pdf` | Optional. pdf or xls. Default pdf. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "7c925703-bdc2-46e2-8878-0dbd12762387",
                    "name": "08 - Auction Listings",
                    "description": "Publishing material as an auction and following it while buyers bid. New listings go to admin\r\nreview before they appear in the buyer app.\r\n\r\n**Depends on:** `{{category_id}}`, `{{subcategory_id}}`, `{{condition_id}}`, `{{unit_id}}`,\r\n`{{city_id}}`. **Produces:** `{{listing_id}}`.\r\n\r\n`starts_at` and `ends_at` are filled by the collection pre-request script (tomorrow and five\r\ndays out), so the \"after now\" rules always pass.",
                    "item": [
                        {
                            "id": "e7a72b90-1810-4922-915b-d3b9c1b588a5",
                            "name": "What do I need to publish?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "meta"
                                    ]
                                },
                                "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "a2e94ab1-bc2c-4239-b276-d11be129ce0c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "meta"
                                            ]
                                        },
                                        "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"categories\": [\n            {\n                \"id\": 1,\n                \"name\": \"Metals\",\n                \"children\": [\n                    {\n                        \"id\": 2,\n                        \"name\": \"Copper\"\n                    }\n                ]\n            }\n        ],\n        \"conditions\": [\n            {\n                \"id\": 1,\n                \"name\": \"Clean / sorted\"\n            }\n        ],\n        \"units\": [\n            {\n                \"id\": 1,\n                \"name\": \"Kilogram\",\n                \"symbol\": \"kg\"\n            }\n        ],\n        \"commission_percentage\": 5,\n        \"min_deposit_amount\": 100\n    }\n}"
                                },
                                {
                                    "id": "bc778415-7855-461f-a3a7-5444eea50362",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "meta"
                                            ]
                                        },
                                        "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c3a4fcd2-2493-4918-b474-6686d8875a3e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "meta"
                                            ]
                                        },
                                        "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cc67b6df-6a01-4fb6-9f0d-35b8c66d3826",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "meta"
                                            ]
                                        },
                                        "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "deb44005-c7b1-4e9e-bff3-5aa1f2275c2b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "meta"
                                            ]
                                        },
                                        "description": "Everything the publish form needs in one call: categories, conditions, units, deposit rules and the commission that will be charged.\n\n**Route:** `GET /api/provider/listings/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4268718c-40e5-4522-9611-414ad12e741e",
                            "name": "My listings",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "active",
                                            "description": "Optional. active, review or ended. Default active.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "7bc57cf5-64a9-4852-ba18-6a424196bd69",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Metals · Copper\",\n                \"type\": \"auction\",\n                \"status\": \"active\",\n                \"current_price\": 5250,\n                \"bidders\": 4,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "3039e971-59e7-46d4-a67c-9569bd811e6d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4571b704-2af0-4348-8a3e-f9dc87a14be5",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "33fbe467-ccaa-402a-a3e1-ba208778a10a",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "23d57e56-5e3c-4263-8bfc-7f4f64897a71",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The seller listing tabs: live ones, ones waiting for admin review, and finished ones.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1a92dfa7-36cc-47df-85fc-a4f948e2a6f9",
                            "name": "My listings (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "active",
                                            "description": "Optional. active, review or ended. Default active.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "d979aa8a-4c9e-4b28-99b6-df152e29a0cf",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1042,\n                \"title\": \"Metals · Copper\",\n                \"type\": \"auction\",\n                \"status\": \"active\",\n                \"current_price\": 5250,\n                \"bidders\": 4,\n                \"ends_at\": \"2026-08-25T18:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "6d4da674-374a-4572-a90a-602629efa38f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4cd011a4-a56c-456e-b12e-26b31ddf596b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c8ca8a89-7308-4a59-863d-e228090dd6db",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "ca22a38d-1ded-4ec2-b040-ef5f2428bb72",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My listings\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4ecd7f06-6dc8-4767-847e-54678c6cede1",
                            "name": "Publish an auction",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "auctions"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "description",
                                            "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                            "type": "text",
                                            "description": "required|string|min:10|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "category_id",
                                            "value": "{{category_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "subcategory_id",
                                            "value": "{{subcategory_id}}",
                                            "type": "text",
                                            "description": "nullable|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "condition_id",
                                            "value": "{{condition_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:material_conditions,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "unit_id",
                                            "value": "{{unit_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:units,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "850",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "pickup_address_text",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "start_price",
                                            "value": "4000",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "min_bid_increment",
                                            "value": "50",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "deposit_amount",
                                            "value": "500",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "starts_at",
                                            "value": "{{starts_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        },
                                        {
                                            "key": "ends_at",
                                            "value": "{{ends_at}}",
                                            "type": "text",
                                            "description": "required|date|after:starts_at",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|array|min:1|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[1]",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|array|min:1|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0d9f13a7-c889-4fbe-b4f5-d6ad287d3921",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1042,\n        \"title\": \"Metals · Copper\",\n        \"status\": \"pending_review\",\n        \"starts_at\": \"2026-08-24T09:00:00+03:00\",\n        \"ends_at\": \"2026-08-28T09:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "12a60269-b9dd-40d6-894f-02663225e3d1",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Auction submitted for review\",\n    \"data\": {\n        \"id\": 1042,\n        \"title\": \"Metals · Copper\",\n        \"status\": \"pending_review\",\n        \"starts_at\": \"2026-08-24T09:00:00+03:00\",\n        \"ends_at\": \"2026-08-28T09:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "e028945e-12e1-44ec-8684-404477ae51c9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The description field is required.\",\n    \"errors\": {\n        \"description\": [\n            \"The description field is required.\"\n        ],\n        \"category_id\": [\n            \"The category id field is required.\"\n        ],\n        \"condition_id\": [\n            \"The condition id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "515121ec-f3e6-42d3-b217-76755012b861",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "cbf01248-446c-4cfe-9a89-9684b9e7c80c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4d505950-3fb8-423d-a5db-ded9905125a0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts collected from a site handover in Riyadh. Sorted, no PVC, ready for loading on a flatbed.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "850",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates an auction lot. At least one photo is required (`images[0]`, `images[1]`, … up to ten). The title is generated from the category and sub-category, so there is no title field.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5f51666d-c9a3-40cf-bef8-39f245b2ed02",
                            "name": "Edit an auction",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "{{listing_id}}",
                                        "auctions"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "description",
                                            "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                            "type": "text",
                                            "description": "required|string|min:10|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "category_id",
                                            "value": "{{category_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "subcategory_id",
                                            "value": "{{subcategory_id}}",
                                            "type": "text",
                                            "description": "nullable|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "condition_id",
                                            "value": "{{condition_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:material_conditions,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "unit_id",
                                            "value": "{{unit_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:units,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "910",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "pickup_address_text",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "start_price",
                                            "value": "4200",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "min_bid_increment",
                                            "value": "50",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "deposit_amount",
                                            "value": "500",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "starts_at",
                                            "value": "{{starts_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        },
                                        {
                                            "key": "ends_at",
                                            "value": "{{ends_at}}",
                                            "type": "text",
                                            "description": "required|date|after:starts_at",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|min:1|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "05dbb735-d78b-44ad-bcda-0c514dae3e53",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "910",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4200",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1042,\n        \"quantity\": 910,\n        \"start_price\": 4200,\n        \"status\": \"pending_review\"\n    }\n}"
                                },
                                {
                                    "id": "17fccca4-73f2-4133-a97d-493b46a22654",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "910",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4200",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The description field is required.\",\n    \"errors\": {\n        \"description\": [\n            \"The description field is required.\"\n        ],\n        \"category_id\": [\n            \"The category id field is required.\"\n        ],\n        \"condition_id\": [\n            \"The condition id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "8a1f9eb5-13d0-4815-a923-2f76cc86ba1a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "910",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4200",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2714807a-d3da-4ae6-a24a-fc5c186a17e9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "910",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4200",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b41add67-7e4e-4cae-841e-9719a037b7f9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Clean copper cable offcuts, re-weighed after sorting. No PVC, ready for loading.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "nullable|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "910",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "4200",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "500",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates auction {{listing_id}}. Only allowed while the lot is still under review or was rejected — once bidding is live it is frozen. Photos are optional here; sending them replaces the set.\n\n**Route:** `POST /api/provider/listings/{id}/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e63c6659-a224-4584-8eaa-6d9b6730133a",
                            "name": "Listing details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "{{listing_id}}"
                                    ]
                                },
                                "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "74189397-e8fc-4c78-894c-e0b83189ccd3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1042,\n        \"title\": \"Metals · Copper\",\n        \"status\": \"active\",\n        \"quantity\": 910,\n        \"unit\": \"kg\",\n        \"start_price\": 4200,\n        \"current_price\": 5250,\n        \"bidders_count\": 4,\n        \"images\": [\n            \"https://revalue.test/storage/listings/1042-1.jpg\"\n        ],\n        \"rejection_reason\": null\n    }\n}"
                                },
                                {
                                    "id": "bf25669b-8112-4175-a39f-5f6cf6934972",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b97b5257-7668-429a-8d6e-20f376514d98",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a430a550-ce0f-4734-963e-1539df594ae9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "cdd52225-ed38-46ba-a542-d8299abb4714",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{listing_id}} from the seller side, including the review status and the admin rejection note when there is one.\n\n**Route:** `GET /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "efdfcd14-bb6b-4544-932b-feed0c1fdaf8",
                            "name": "Who is bidding on my lot?",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "{{listing_id}}",
                                        "bidders"
                                    ]
                                },
                                "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "bb0c6df6-91fd-4c60-b6ab-3409b811a66c",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"position\": 1,\n            \"label\": \"Bidder 1\",\n            \"amount\": 5250,\n            \"created_at\": \"2026-08-23T09:31:00+03:00\"\n        },\n        {\n            \"position\": 2,\n            \"label\": \"Bidder 2\",\n            \"amount\": 5200,\n            \"created_at\": \"2026-08-23T09:12:00+03:00\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "211703cd-f434-453a-862e-7cd8061e9f14",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "23aca01f-9dfa-4d8a-afbf-05b05a584d65",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2cc594b3-1ce5-4eba-9faa-e592dd69873f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a7fa1902-d514-4571-964f-cb42f589020f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/bidders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "bidders"
                                            ]
                                        },
                                        "description": "Bid history for {{listing_id}}. Buyers stay anonymous until the auction closes.\n\n**Route:** `GET /api/provider/listings/{id}/bidders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ff5b62a1-0cab-4ac2-bdad-bcbf0ccdd27e",
                            "name": "Delete an auction",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "{{listing_id}}"
                                    ]
                                },
                                "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "8b6521a6-3c9b-4a33-af6e-bb6567401a4d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1042\n}"
                                },
                                {
                                    "id": "2d989bd4-4686-4628-a883-bfff986bfe69",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2e6da6a8-c4ba-4df4-812f-10ff279e4240",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "336479d0-6c7c-415a-8173-d8be80edd0a9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0800d118-03eb-42cc-a6f4-448158ae8876",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes {{listing_id}}. Only possible while it is under review or rejected — a live auction with bids cannot be pulled.\n\n**Route:** `DELETE /api/provider/listings/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "f9c429c3-1e30-4d58-a76a-a29df293c845",
                    "name": "09 - Direct Offer Listings",
                    "description": "The fixed-price alternative to an auction: publish an asking price per unit and let buyers open\r\na chat.\r\n\r\n**Depends on:** the same catalogue variables as cycle 08. **Produces:** `{{listing_id}}`.",
                    "item": [
                        {
                            "id": "288b029a-1b2f-400a-b5a9-8e82893c92d5",
                            "name": "Publish a direct offer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "offers"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "description",
                                            "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                            "type": "text",
                                            "description": "required|string|min:10|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "category_id",
                                            "value": "{{category_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "subcategory_id",
                                            "value": "{{subcategory_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "condition_id",
                                            "value": "{{condition_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:material_conditions,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "unit_id",
                                            "value": "{{unit_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:units,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "300",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "pickup_address_text",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "asking_price_per_unit",
                                            "value": "12.5",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|array|min:1|max:10",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[1]",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|array|min:1|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "4137278d-939b-43ca-b54a-1e8b379b3d10",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1103,\n        \"title\": \"Metals · Aluminium\",\n        \"status\": \"pending_review\",\n        \"asking_price_per_unit\": 12.5\n    }\n}"
                                },
                                {
                                    "id": "f2008b93-6a92-499a-bbd1-5876f3ccc25b",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Offer submitted for review\",\n    \"data\": {\n        \"id\": 1103,\n        \"title\": \"Metals · Aluminium\",\n        \"status\": \"pending_review\",\n        \"asking_price_per_unit\": 12.5\n    }\n}"
                                },
                                {
                                    "id": "d6258761-730c-4161-b4fe-582458e356a7",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The description field is required.\",\n    \"errors\": {\n        \"description\": [\n            \"The description field is required.\"\n        ],\n        \"category_id\": [\n            \"The category id field is required.\"\n        ],\n        \"subcategory_id\": [\n            \"The subcategory id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "6bc566f4-e8d0-4da7-b863-84ede6ee50c3",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c5b06116-0e0d-4fd7-8cda-d9df3d7acfed",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "253ca014-fd3e-4533-97b4-4cc2c4fec340",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets from a workshop clearance, clean and stacked on pallets.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "12.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[1]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Creates a fixed-price lot. Photos are required and both a category and sub-category must be chosen; the title is generated from them.\n\n**Route:** `POST /api/provider/listings/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "531228f8-8e96-42eb-9282-21b9fb0e8125",
                            "name": "Edit a direct offer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "{{listing_id}}",
                                        "offers"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "description",
                                            "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                            "type": "text",
                                            "description": "required|string|min:10|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "category_id",
                                            "value": "{{category_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "subcategory_id",
                                            "value": "{{subcategory_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "condition_id",
                                            "value": "{{condition_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:material_conditions,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "unit_id",
                                            "value": "{{unit_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:units,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "280",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "24.688000",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "46.721000",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "pickup_address_text",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "asking_price_per_unit",
                                            "value": "11.5",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|min:1|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "bd2c6636-bc2f-4df7-b881-b85f8c4000f9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1103,\n        \"quantity\": 280,\n        \"asking_price_per_unit\": 11.5\n    }\n}"
                                },
                                {
                                    "id": "75bae9cd-0949-4926-8781-d860d6b68f57",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The description field is required.\",\n    \"errors\": {\n        \"description\": [\n            \"The description field is required.\"\n        ],\n        \"category_id\": [\n            \"The category id field is required.\"\n        ],\n        \"subcategory_id\": [\n            \"The subcategory id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0ecdd0ca-8ce1-4451-9dad-0b31eb9a0b85",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "98e3c5e7-34eb-455c-b9e1-df2e7037e82b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "326f5219-268f-4711-9b97-fb54624830c9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/{{listing_id}}/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "{{listing_id}}",
                                                "offers"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Sorted aluminium sheets, price lowered for a quick pickup this week.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "subcategory_id",
                                                    "value": "{{subcategory_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "24.688000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "46.721000",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "asking_price_per_unit",
                                                    "value": "11.5",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Updates offer {{listing_id}} — typically to change the asking price or the remaining quantity. Photos are optional.\n\n**Route:** `POST /api/provider/listings/{id}/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | required · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `asking_price_per_unit` | required · numeric · min:1 · max:999999999.99 |\n| `images` | nullable · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "409ee741-fdcd-4aa8-932d-b1c3fd230730",
                            "name": "My direct offers",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"listing_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "offers"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "active",
                                            "description": "Optional. active, review or ended. Default active.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "0d0cc894-fff7-45dc-bad5-a119595a7b28",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Metals · Aluminium\",\n                \"status\": \"active\",\n                \"asking_price_per_unit\": 11.5,\n                \"conversations\": 3\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "0c2d5eda-85f5-4ec9-b4ab-a045c56219d4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9aa9fe38-86f0-44d0-8483-1d9600a2ea3e",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c4e8c860-5e36-40eb-b532-1d0042205748",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "5eb43dbc-50b8-48d6-a392-095d6cda538e",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers?tab=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Offer listings split into live, under review and finished.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |\n\n**Saves variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "d83c3b6b-e4fd-44d5-8ffb-e47e3e38f9f8",
                            "name": "My direct offers (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "offers"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "active",
                                            "description": "Optional. active, review or ended. Default active.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Items per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "f8f01b30-0810-4ec8-97c4-b90245a883e2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1103,\n                \"title\": \"Metals · Aluminium\",\n                \"status\": \"active\",\n                \"asking_price_per_unit\": 11.5,\n                \"conversations\": 3\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "06d1827a-b1be-4981-b550-6161afde62e4",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "dabb6f37-8a85-45b6-88fe-a490f87b4e40",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c51186eb-21c1-48f1-b127-7054c9033d57",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f4c1c489-f08a-40e5-81bd-e43f75bb0be0",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "active",
                                                    "description": "Optional. active, review or ended. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Items per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My direct offers\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/offers`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `active` | Optional. active, review or ended. Default active. |\n| `perPage` | `15` | Optional. Items per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "21f57b37-be7f-4dac-b4b3-36a8033fdd8c",
                            "name": "Direct offer details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "offers",
                                        "{{listing_id}}"
                                    ]
                                },
                                "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "9b53a6f6-5f57-4715-9457-81afae97ce0b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1103,\n        \"title\": \"Metals · Aluminium\",\n        \"status\": \"active\",\n        \"quantity\": 280,\n        \"unit\": \"kg\",\n        \"asking_price_per_unit\": 11.5,\n        \"conversations_count\": 3,\n        \"images\": [\n            \"https://revalue.test/storage/listings/1103-1.jpg\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ffb9aa6e-1eb9-4f6e-9ee9-bd8cee364c3e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ad3b23cd-b92a-45bb-a899-574af6d2e437",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2e4cb439-661b-4adf-a960-682ac2fc1e1c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3ff0d173-5b29-45fb-8619-eba091ea84ef",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Seller view of offer {{listing_id}}, including how many buyers opened a chat about it.\n\n**Route:** `GET /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1b9e51bc-1cd4-418c-8241-fe7414715a2a",
                            "name": "Pause a direct offer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "offers",
                                        "{{listing_id}}",
                                        "pause"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "e6e864d6-f25b-4cc5-b037-3116e4087249",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}",
                                                "pause"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Offer paused successfully\",\n    \"data\": {\n        \"id\": 1103,\n        \"status\": \"paused\"\n    }\n}"
                                },
                                {
                                    "id": "a61cfba4-fcdd-40d2-af31-ea3ff0d9740e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}",
                                                "pause"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a49324f0-24eb-43ec-ad2b-51ab2af41ba0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}",
                                                "pause"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "35c225c3-419b-4fa0-98c9-fdb08a738464",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}",
                                                "pause"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "40a1b9fb-6be6-44c5-a99b-4fa33455739d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}/pause",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}",
                                                "pause"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Hides {{listing_id}} from buyers without deleting it — useful when the material is temporarily reserved.\n\n**Route:** `POST /api/provider/offers/{id}/pause`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "581cb83a-75e4-4d11-ba0f-7e6be70a8f6f",
                            "name": "Delete a direct offer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "offers",
                                        "{{listing_id}}"
                                    ]
                                },
                                "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                            },
                            "response": [
                                {
                                    "id": "36179a11-501c-42a5-8521-ddf2746ee51e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": 1103\n}"
                                },
                                {
                                    "id": "08e8de77-9752-4c86-bdd9-bb226c092c37",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "730e8fb6-cee3-4cde-8d48-a001d2c4de8b",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6468fa6e-5d41-4387-b8f5-4bdce73be67c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b185069f-8fd2-4bee-bb1b-9f4ed370d7ce",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/offers/{{listing_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "offers",
                                                "{{listing_id}}"
                                            ]
                                        },
                                        "description": "Removes offer {{listing_id}}. Not possible once it has turned into an order.\n\n**Route:** `DELETE /api/provider/offers/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{listing_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "8cf05f34-13bf-46e4-abca-d7c36a18f4f3",
                    "name": "10 - Chat & Price Offers",
                    "description": "Negotiating with buyers who opened a chat on a direct offer, and sending the formal price that\r\nturns the chat into an order when they accept it.\r\n\r\n**Depends on:** `{{conversation_id}}`. **Produces:** an order on the buyer side once they accept.",
                    "item": [
                        {
                            "id": "37eb365e-5738-4cbf-b4a0-37750cd795cb",
                            "name": "My conversations",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"conversation_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Threads per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c8109eb4-49f9-4c2d-8a2b-c467d8c49330",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 77,\n                \"listing\": {\n                    \"id\": 1103,\n                    \"title\": \"Metals · Aluminium\"\n                },\n                \"buyer\": \"Faisal A.\",\n                \"last_message\": \"Could you do 11.5 per kg?\",\n                \"unread_count\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "577fff0c-61c1-4420-bd63-ce5ec534ebdf",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ac019780-5f2b-4204-bed9-b0aa9abfdbb8",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a83dfaa6-4f10-4655-9ac9-d52b280a1fd2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a15ecb0d-a99f-42bc-bfa5-171b87767bf7",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Chat inbox with the buyer name, the lot and the unread count.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |\n\n**Saves variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "606f0e22-3ba0-4b22-b5a8-96adeb35bf50",
                            "name": "My conversations (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Threads per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "d6208bc3-7653-4378-8949-314254d5467a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 77,\n                \"listing\": {\n                    \"id\": 1103,\n                    \"title\": \"Metals · Aluminium\"\n                },\n                \"buyer\": \"Faisal A.\",\n                \"last_message\": \"Could you do 11.5 per kg?\",\n                \"unread_count\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "28311d9c-dfc7-4568-8920-05558c042f05",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "2549f5fb-ba9e-442f-9584-d4f93e6283f0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "07851f3e-a95a-442e-afa1-d117de3f5d59",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "8943c1a8-5b7f-45c9-862b-3e0534950c53",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Threads per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My conversations\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Threads per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e348f69a-10de-4fd3-acd0-76ce112f0075",
                            "name": "Conversation header",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}"
                                    ]
                                },
                                "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "8db2af9d-db03-4380-a4f7-0c8cb42be464",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 77,\n        \"listing\": {\n            \"id\": 1103,\n            \"title\": \"Metals · Aluminium\",\n            \"asking_price_per_unit\": 11.5\n        },\n        \"buyer\": {\n            \"id\": 12,\n            \"name\": \"Faisal A.\",\n            \"rating\": 4.8\n        },\n        \"pending_price_offer\": null\n    }\n}"
                                },
                                {
                                    "id": "cccc3489-02eb-46d7-b870-2f04e284bb7f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "306395dd-5cd9-4251-b3e2-d8f808e74620",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b677780e-b94d-4aa8-a5bb-7a4d15a0ab09",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "17b91e67-b990-42a6-87d9-fb72f530f8be",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}"
                                            ]
                                        },
                                        "description": "Who and what thread {{conversation_id}} is about, plus the price offer currently pending.\n\n**Route:** `GET /api/provider/conversations/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c5d74b42-e5a3-42dc-b31f-6d45dde52067",
                            "name": "Read the messages",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "30",
                                            "description": "Optional. Messages per page, default 30.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "68f58e97-f383-4cff-922f-9d18e2a52fc9",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 901,\n                \"sender\": \"buyer\",\n                \"body\": \"Could you do 11.5 SAR per kg?\",\n                \"attachment\": null,\n                \"created_at\": \"2026-08-23T09:22:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 30,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "386ba82b-c333-4360-91f6-85b5408e074f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "b8bf0aba-78a2-4770-8b20-9ccc2e796257",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "6b1c65d6-f71d-49f7-8571-6afabbf01cd5",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "f74af8dc-2559-4dc1-88b7-4f6f110dfc40",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages?perPage=30",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Message history for {{conversation_id}}.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cccf4518-0837-4614-ae04-926630f38a9d",
                            "name": "Read the messages (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "30",
                                            "description": "Optional. Messages per page, default 30.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a9543cfe-f530-46db-b7c9-9732fba98312",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 901,\n                \"sender\": \"buyer\",\n                \"body\": \"Could you do 11.5 SAR per kg?\",\n                \"attachment\": null,\n                \"created_at\": \"2026-08-23T09:22:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 30,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "0e3356b4-f396-4a2e-acc6-ff42ef020b5b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0c9c8f71-ec78-4c83-b0ff-89eaa57495a7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2c3f970c-eea2-48de-8378-c73625de8602",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "433a7884-f78f-4c20-b6ca-a8eca09ae584",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "30",
                                                    "description": "Optional. Messages per page, default 30.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Read the messages\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `30` | Optional. Messages per page, default 30. |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "8054021d-dd9b-4acf-95a7-30256b3f5f7d",
                            "name": "Send a message",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "messages"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "body",
                                            "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                            "type": "text",
                                            "description": "nullable|string|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "attachment",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "d3546cb9-cb4f-4fdb-844c-7fc0204788b3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Message sent successfully\",\n    \"data\": {\n        \"id\": 903,\n        \"sender\": \"seller\",\n        \"body\": \"I can do 11.5 per kg if you collect before Thursday noon.\"\n    }\n}"
                                },
                                {
                                    "id": "592e0c0e-929e-4131-80e1-baf66ed3c84b",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 903,\n        \"sender\": \"seller\",\n        \"body\": \"I can do 11.5 per kg if you collect before Thursday noon.\"\n    }\n}"
                                },
                                {
                                    "id": "e102ab90-4395-4649-aa7b-f03d1f05e71f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "e0abb51f-a594-4ad4-a46c-6eb03156af9c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "296fc900-e207-49f7-af67-a5ee36ea35e0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "9a5fd577-0051-43c6-bd77-db63edc0362f",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/messages",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "messages"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "body",
                                                    "value": "I can do 11.5 per kg if you collect before Thursday noon.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "attachment",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|image|mimes:jpeg,png,jpg,webp|max:10240",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Replies in {{conversation_id}} with text, a photo of the material, or both.\n\n**Route:** `POST /api/provider/conversations/{id}/messages`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `body` | nullable · string · max:5000 |\n| `attachment` | nullable · image · mimes:jpeg,png,jpg,webp · max:10240 |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "65de0de4-aae1-479d-9d48-f7f7abf8eb61",
                            "name": "Send a formal price offer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "price-offer"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "price",
                                            "value": "3220",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "280",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "inspection_location",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "inspection_at",
                                            "value": "{{inspection_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "e6221efe-a58e-4573-8422-085a691e3f52",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 45,\n        \"price\": 3220,\n        \"quantity\": 280,\n        \"inspection_at\": \"2026-08-26T09:00:00+03:00\",\n        \"status\": \"pending\"\n    }\n}"
                                },
                                {
                                    "id": "1b5c445c-56e3-4f12-b04f-522b634cf803",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price offer sent successfully\",\n    \"data\": {\n        \"id\": 45,\n        \"price\": 3220,\n        \"quantity\": 280,\n        \"inspection_at\": \"2026-08-26T09:00:00+03:00\",\n        \"status\": \"pending\"\n    }\n}"
                                },
                                {
                                    "id": "8cbf80e0-321e-465e-9c71-449e497b7e8d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The price field is required.\",\n    \"errors\": {\n        \"price\": [\n            \"The price field is required.\"\n        ],\n        \"quantity\": [\n            \"The quantity field is required.\"\n        ],\n        \"inspection_location\": [\n            \"The inspection location field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "18e03ab1-9c1d-4982-b595-209a4e5834b0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "200c32d1-9cfe-4a7b-8440-ad396b0d2fd0",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "3a7f2abf-17bf-4ab5-91a5-92cebaf8bdb6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "3220",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "280",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The binding version of the chat: total price, quantity and the inspection appointment. If the buyer accepts, an order is created. `inspection_at` is filled from the collection variable so it is always in the future.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "c3239a1e-488b-42ca-9e81-15e1e0e6e48e",
                    "name": "11 - Orders, Handover & Rating",
                    "description": "From a paid order to money in the wallet: schedule the inspection, answer a price-change\r\nrequest, verify the handshake code at pickup, then rate the buyer and pull the invoice.\r\n\r\n**Depends on:** `{{order_id}}`. **Produces:** nothing new, but the escrow is released to the\r\nseller wallet once the buyer confirms receipt.",
                    "item": [
                        {
                            "id": "2309b8e4-9cfc-4466-92da-af1bd4872556",
                            "name": "My orders",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"order_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "offers",
                                            "description": "Optional. offers or auctions. Default offers.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "status",
                                            "value": "active",
                                            "description": "Optional. review, active, completed or cancelled. Default active.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Orders per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "3527b2c5-3aba-436c-abbc-10befa4221e2",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 501,\n                \"source\": \"auction\",\n                \"status\": \"paid_pending_schedule\",\n                \"total\": 5051.88,\n                \"buyer\": \"Faisal A.\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "7c85e8f6-76ad-4e79-bce2-d11edd953e30",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d413b72d-70eb-4427-8f66-872fd626992c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "db44f9bc-588c-475f-a1f8-3125f2013b39",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "da3538b3-53a7-4f6b-8ce6-0e5c610f7f57",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders?tab=offers&status=active&perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Seller order list, tabbed by source and status the same way the app shows it.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |\n\n**Saves variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "4dbab14e-d0b7-4a97-ac0c-2f19ad0ef19b",
                            "name": "My orders (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "offers",
                                            "description": "Optional. offers or auctions. Default offers.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "status",
                                            "value": "active",
                                            "description": "Optional. review, active, completed or cancelled. Default active.",
                                            "disabled": true
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Orders per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "7ae0fdbc-4bfa-40e9-9f6c-c7aaf8a9a71d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 501,\n                \"source\": \"auction\",\n                \"status\": \"paid_pending_schedule\",\n                \"total\": 5051.88,\n                \"buyer\": \"Faisal A.\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "d06cf750-0653-4290-afe8-161dfe92ab6f",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0758e131-58c3-4037-9276-2f8e05105c46",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "93ad6e98-a0f8-4ead-9cb1-87bad6e869d9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b8349b73-bc3e-47c2-8723-e66b5bfcd3c1",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "offers",
                                                    "description": "Optional. offers or auctions. Default offers.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "status",
                                                    "value": "active",
                                                    "description": "Optional. review, active, completed or cancelled. Default active.",
                                                    "disabled": true
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Orders per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My orders\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/orders`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `offers` | Optional. offers or auctions. Default offers. |\n| `status` | `active` | Optional. review, active, completed or cancelled. Default active. |\n| `perPage` | `15` | Optional. Orders per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1c59aaae-123b-4ff5-b997-553e47c73f1c",
                            "name": "Order details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}"
                                    ]
                                },
                                "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "52ca2d99-a184-4e0b-8860-f10e1f6eddeb",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"paid_pending_schedule\",\n        \"source\": \"auction\",\n        \"listing\": {\n            \"id\": 1042,\n            \"title\": \"Metals · Copper\",\n            \"quantity\": 910,\n            \"unit\": \"kg\"\n        },\n        \"buyer\": {\n            \"id\": 12,\n            \"name\": \"Faisal A.\",\n            \"phone\": \"966512345678\",\n            \"rating\": 4.8\n        },\n        \"totals\": {\n            \"subtotal\": 5250,\n            \"commission\": 262.5,\n            \"net_payout\": 4987.5\n        },\n        \"next_action\": \"schedule_inspection\"\n    }\n}"
                                },
                                {
                                    "id": "c0bac666-7f88-48ec-bc30-ab87467cb79b",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "83e91162-0d02-42a5-af11-4eb13533fba7",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "1ac16b43-5dc1-4e36-a5a3-dd8413c668d7",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "08d111f9-727e-4f70-8aa9-65ad6e052a51",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}"
                                            ]
                                        },
                                        "description": "Everything about {{order_id}} from the seller side: buyer, material, payout breakdown and what to do next.\n\n**Route:** `GET /api/provider/orders/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "cfe8b9a6-771e-41d3-8e96-454119005893",
                            "name": "Schedule the inspection",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "schedule-inspection"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "inspection_at",
                                            "value": "{{inspection_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        },
                                        {
                                            "key": "inspection_location",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:255",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "c01040b1-a3fb-4258-a87a-facd8e385df3",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "schedule-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Inspection scheduled successfully\",\n    \"data\": {\n        \"id\": 501,\n        \"status\": \"pending_inspection\",\n        \"inspection_at\": \"2026-08-26T09:00:00+03:00\"\n    }\n}"
                                },
                                {
                                    "id": "546738dd-a129-4870-b75a-7585c4ac9d97",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "schedule-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The inspection at field is required.\",\n    \"errors\": {\n        \"inspection_at\": [\n            \"The inspection at field is required.\"\n        ],\n        \"inspection_location\": [\n            \"The inspection location field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "7f0f8ba7-e0bd-435a-94a7-34a2c9104011",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "schedule-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "838b451c-5441-46f7-b9c2-ca75607929d9",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "schedule-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "57c76f5f-c5cc-4c1a-aadd-33e087a80c45",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/schedule-inspection",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "schedule-inspection"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:255",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Sets when and where the buyer can inspect and collect {{order_id}}. Auction orders only — direct offers already carry the appointment from the price offer.\n\n**Route:** `POST /api/provider/orders/{id}/schedule-inspection`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `inspection_at` | required · date · after:now |\n| `inspection_location` | required · string · max:255 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "62f0f386-288f-44a0-baf3-056b0d9f73b7",
                            "name": "Accept the buyer price change",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change",
                                        "accept"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "6da67637-fb8c-471c-9e2a-cf7f17d39dea",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price change accepted successfully\",\n    \"data\": {\n        \"id\": 502,\n        \"status\": \"pending_payment\",\n        \"total\": 3405.15\n    }\n}"
                                },
                                {
                                    "id": "2ac665ec-3f2a-4d18-b381-e49653839c5e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "a1267db6-6ae5-4c4a-87ed-b540f770e549",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ebf66159-f441-4eeb-96ec-6518702a1599",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6855822d-e43a-4dae-a2a5-36d66c0435c6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/accept",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "accept"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Agrees to the new quantity/price the buyer asked for on {{order_id}} and puts the order back on track.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/accept`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs.\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "5af70d42-5fee-4675-955c-489cc4dfdc48",
                            "name": "Reject the buyer price change",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change",
                                        "reject"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "note",
                                            "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1334fcad-a4c6-4c39-b4e5-39dc903d040a",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "note",
                                                    "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price change rejected successfully\",\n    \"data\": {\n        \"id\": 502,\n        \"status\": \"pending_inspection\"\n    }\n}"
                                },
                                {
                                    "id": "f9483201-97a4-4bbe-a7d7-11888ae23b2d",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "note",
                                                    "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ec9780b1-843b-4e22-b4d2-119a4f47742f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "note",
                                                    "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "da033bea-16d6-4815-a1b9-6c4276b4e4ff",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "note",
                                                    "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0b9f6463-3f3a-4670-b511-a5f500b798e6",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "note",
                                                    "value": "The load was weighed on a certified bridge — 300 kg is correct.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Turns the request down on {{order_id}} with an optional note explaining why.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "3ce7d26a-1e9c-4b65-a736-751f8c83c79e",
                            "name": "Verify the handshake code",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "handshake",
                                        "verify"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "code",
                                            "value": "{{handshake_code}}",
                                            "type": "text",
                                            "description": "required|string|size:4|4 digits",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "4db3d333-4b0b-4c25-a18c-64fe7dd43279",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{handshake_code}}",
                                                    "type": "text",
                                                    "description": "required|string|size:4|4 digits",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Code verified successfully\",\n    \"data\": {\n        \"id\": 501,\n        \"handshake_verified_at\": \"2026-08-26T13:20:00+03:00\",\n        \"status\": \"in_progress\"\n    }\n}"
                                },
                                {
                                    "id": "5ee1a200-7295-430e-b485-4150a4bffc19",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{handshake_code}}",
                                                    "type": "text",
                                                    "description": "required|string|size:4|4 digits",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The code field is required.\",\n    \"errors\": {\n        \"code\": [\n            \"The code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "4cab15f4-7d66-4cf3-94ba-133a2fe2b68c",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{handshake_code}}",
                                                    "type": "text",
                                                    "description": "required|string|size:4|4 digits",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4d29a789-60f9-4801-89e0-d89cbf98321f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{handshake_code}}",
                                                    "type": "text",
                                                    "description": "required|string|size:4|4 digits",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "158ac50a-4535-411e-97f1-66bb0555edfc",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/handshake/verify",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "handshake",
                                                "verify"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "code",
                                                    "value": "{{handshake_code}}",
                                                    "type": "text",
                                                    "description": "required|string|size:4|4 digits",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "At pickup the buyer reads out a 4-digit code; typing it here proves the two actually met and unlocks the rest of the flow.\n\n**Route:** `POST /api/provider/orders/{id}/handshake/verify`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `code` | required · string · size:4 · 4 digits |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e044428e-b6b0-4625-b9a0-9a96bd1307ac",
                            "name": "Rating screen data",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"rating_tag_id\", [\"data.tags.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "rate"
                                    ]
                                },
                                "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                            },
                            "response": [
                                {
                                    "id": "f28d7436-f0a1-43c8-bb41-bac8d6092cb4",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"already_rated\": false,\n        \"buyer\": {\n            \"id\": 12,\n            \"name\": \"Faisal A.\"\n        },\n        \"tags\": [\n            {\n                \"id\": 1,\n                \"name\": \"Arrived on time\"\n            },\n            {\n                \"id\": 2,\n                \"name\": \"Easy to deal with\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0228ad55-ff2e-4282-b9e4-c896c7dbecaf",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "19a175aa-a910-4a12-9660-ed79f761cfbb",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2ba79681-d2bf-43af-b914-d9c65cf4f01c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0677fa4e-f8e3-44f6-b1d6-3f6eebd232fe",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "description": "Tags the seller can pick when rating the buyer of {{order_id}}, and whether a rating already exists.\n\n**Route:** `GET /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{rating_tag_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "9cc15f71-2b84-4824-90e6-2b18f2c6180b",
                            "name": "Rate the buyer",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "rate"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "stars",
                                            "value": "5",
                                            "type": "text",
                                            "description": "required|integer|min:1|max:5",
                                            "disabled": false
                                        },
                                        {
                                            "key": "tag_ids[0]",
                                            "value": "{{rating_tag_id}}",
                                            "type": "text",
                                            "description": "nullable|array",
                                            "disabled": false
                                        },
                                        {
                                            "key": "tag_ids[1]",
                                            "value": "2",
                                            "type": "text",
                                            "description": "nullable|array",
                                            "disabled": false
                                        },
                                        {
                                            "key": "comment",
                                            "value": "Arrived on time with his own transport and settled immediately.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "bcbcf327-8790-4922-9c09-17030cf646be",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Rating submitted successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"stars\": 5,\n        \"buyer_rating\": 4.9\n    }\n}"
                                },
                                {
                                    "id": "7f9fb3bb-e342-453c-be7c-a5a1b86cccd1",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"order_id\": 501,\n        \"stars\": 5,\n        \"buyer_rating\": 4.9\n    }\n}"
                                },
                                {
                                    "id": "73d48adc-e69d-47dd-95e7-cd59b395302c",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The stars field is required.\",\n    \"errors\": {\n        \"stars\": [\n            \"The stars field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "15e1488b-30e4-4f6e-9c39-de7901fdd703",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e8d8a891-de38-466b-8136-243d96ddea0f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d3a75fcb-f0ab-4e25-ab1c-0c56370e7847",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/rate",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "rate"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "stars",
                                                    "value": "5",
                                                    "type": "text",
                                                    "description": "required|integer|min:1|max:5",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[0]",
                                                    "value": "{{rating_tag_id}}",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "tag_ids[1]",
                                                    "value": "2",
                                                    "type": "text",
                                                    "description": "nullable|array",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "comment",
                                                    "value": "Arrived on time with his own transport and settled immediately.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Stars, quick tags and an optional comment about the buyer of {{order_id}}.\n\n**Route:** `POST /api/provider/orders/{id}/rate`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `stars` | required · integer · min:1 · max:5 |\n| `tag_ids` | nullable · array |\n| `tag_ids.*` | integer · exists:rating_tags,id |\n| `comment` | nullable · string · max:1000 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "a4f8bbf6-626e-42a8-9fa3-bdd6f2232f96",
                            "name": "Order invoice",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "invoice"
                                    ]
                                },
                                "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1bbd398e-77f0-4d42-9f52-5dced84fe5b8",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"invoice_number\": \"INV-2026-000501\",\n        \"issued_at\": \"2026-08-26T13:41:00+03:00\",\n        \"subtotal\": 5250,\n        \"commission\": 262.5,\n        \"net_payout\": 4987.5,\n        \"pdf_url\": \"https://revalue.test/storage/invoices/INV-2026-000501.pdf\"\n    }\n}"
                                },
                                {
                                    "id": "8929be11-6566-497b-b696-53d5b1009172",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "29d9ce54-f1d8-4202-9fda-50539f8cca29",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "3a05a49f-e343-465c-b339-d936d697d96c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "501ee01e-fe41-4602-bb35-92f0c536aa73",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/invoice",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "invoice"
                                            ]
                                        },
                                        "description": "VAT invoice for {{order_id}} with the commission line and the net payout. Completed orders only.\n\n**Route:** `GET /api/provider/orders/{id}/invoice`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "1f6e427c-8a79-4c3a-8074-bdcdd15a4440",
                            "name": "Complaint reasons for this order",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"reason_id\", [\"data.reasons.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "complaint-reasons"
                                    ]
                                },
                                "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                            },
                            "response": [
                                {
                                    "id": "8e9b53d9-350c-4e15-bcaf-35dd39655c0e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": [\n        {\n            \"id\": 3,\n            \"name\": \"Buyer did not show up\"\n        },\n        {\n            \"id\": 4,\n            \"name\": \"Buyer refused the material without reason\"\n        }\n    ]\n}"
                                },
                                {
                                    "id": "5f2ed92d-b4ab-407e-badf-6ae89595a2be",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "faddfd86-3dde-48b3-9486-794855034b4d",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "94eee7fb-5b58-48ef-ac01-fdb9080392fd",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4cce00dd-b9b8-45bf-822a-d2e34ebd7000",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaint-reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaint-reasons"
                                            ]
                                        },
                                        "description": "The reasons a seller can pick when something went wrong with {{order_id}} — no-show, refused pickup, and so on.\n\n**Route:** `GET /api/provider/orders/{id}/complaint-reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "c05e06b9-f98c-465a-bf9f-8dd44351e0f6",
                            "name": "Raise a complaint about this order",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "complaints"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "reason_id",
                                            "value": "{{reason_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:complaint_reasons,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "custom_reason",
                                            "value": "Buyer never arrived for the booked slot",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "a533b27e-6214-4704-9872-d7241c02e48e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Complaint submitted successfully\",\n    \"data\": {\n        \"id\": 33,\n        \"order_id\": 501,\n        \"status\": \"open\"\n    }\n}"
                                },
                                {
                                    "id": "43af699e-7f21-4abf-b58a-3b8ee3d4b8c1",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 33,\n        \"order_id\": 501,\n        \"status\": \"open\"\n    }\n}"
                                },
                                {
                                    "id": "461b7516-4324-4cc2-9995-515086346c61",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "9f2ad172-0a14-4fbf-8709-62a2e3624eba",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "21e953e1-6f67-4a31-a526-dd0079edeada",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "d6fc1a89-e2f5-4461-afe8-0582633aad9b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/complaints",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "complaints"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Buyer never arrived for the booked slot",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "The buyer booked Wednesday 09:00, the yard crew waited two hours and he did not answer his phone.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Opens a support case against {{order_id}} with up to five photos as evidence.\n\n**Route:** `POST /api/provider/orders/{id}/complaints`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:10000 |\n\n**Uses variables:** `{{order_id}}`\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "e44e5988-217a-48cc-9e38-c62b4d95f326",
                    "name": "12 - Wallet & Withdrawals",
                    "description": "Where the escrow lands and how the seller gets it into a bank account. Sellers cannot top up —\r\nmoney only arrives from completed orders.\r\n\r\n**Produces:** `{{withdrawal_id}}`. **Depends on:** `{{provider_token}}`.",
                    "item": [
                        {
                            "id": "2de76e37-949c-4443-9951-d875b145061c",
                            "name": "My wallet",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet"
                                    ]
                                },
                                "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "263e9bef-3a3f-4fb6-a14a-94eab49d3f58",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"available_balance\": 18450.75,\n        \"held_balance\": 5051.88,\n        \"pending_withdrawals\": 0,\n        \"currency\": \"SAR\"\n    }\n}"
                                },
                                {
                                    "id": "ee95ac5d-2df8-496f-99ad-bd4470923859",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "3a4a4b0b-0bf0-4178-9b35-6652b13b1a91",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b1e25715-5924-4aaf-8bb9-6e2a381ca71b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4138b06e-6682-40b5-9687-dd58eec4030d",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet"
                                            ]
                                        },
                                        "description": "Available balance, what is still held in escrow and the pending payout total.\n\n**Route:** `GET /api/provider/wallet`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "061f3686-625e-4f50-804e-70776a334836",
                            "name": "Wallet ledger",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "ledger"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "3560734a-a886-4277-a7cb-bed150dd8968",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 812,\n                \"entry\": \"credit\",\n                \"amount\": 4987.5,\n                \"reason\": \"escrow_release\",\n                \"balance_after\": 18450.75,\n                \"created_at\": \"2026-08-26T13:45:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "634c5c63-2d76-45cb-9816-b93de0e7e141",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "35b28b44-6899-4077-a812-0dbcbaf017e4",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "5b6e1bfa-a47c-477f-90ed-66295f008fc7",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "26ce0425-774f-4414-9d55-57d68fd5fc35",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Every credit and debit with its running balance: escrow releases, commission and payouts.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "ad460092-fb84-49ca-beb7-b1be130b636a",
                            "name": "Wallet ledger (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "ledger"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "a5dee559-848c-40f7-b43b-05c5d2700eec",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 812,\n                \"entry\": \"credit\",\n                \"amount\": 4987.5,\n                \"reason\": \"escrow_release\",\n                \"balance_after\": 18450.75,\n                \"created_at\": \"2026-08-26T13:45:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "85602ba0-ab4c-4b45-a2dc-980ad99fff53",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "83178149-7c33-426a-b9a9-2f5ca4dff9ec",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "758a7a8e-6cfc-4fb0-a37a-ec4b36c3cbd2",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "2390e1af-392d-48cf-8401-ad41b26304b1",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/ledger",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "ledger"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"Wallet ledger\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/ledger`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "2a339b84-2cd7-4e26-9dd6-97290f08ab25",
                            "name": "Withdrawal rules",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "withdrawals",
                                        "meta"
                                    ]
                                },
                                "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "76c797b5-04e0-47fb-960f-607c65ef880d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"min_withdrawal\": 100,\n        \"available_balance\": 18450.75,\n        \"last_bank\": {\n            \"bank_name\": \"Al Rajhi Bank\",\n            \"iban\": \"SA03********7519\"\n        }\n    }\n}"
                                },
                                {
                                    "id": "ff9ed6d1-b017-4e72-b75c-032a7b3e5850",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "36a7bcda-786f-41ce-a927-d1553b330860",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b499bea7-5249-4f36-945c-8e5f00a36e2c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e4386302-2ca2-4d9d-96fa-01da27b18ded",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/meta",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "meta"
                                            ]
                                        },
                                        "description": "Minimum payout, what is withdrawable right now and the bank details last used.\n\n**Route:** `GET /api/provider/wallet/withdrawals/meta`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "be4fd898-772e-4c28-bb67-cea0de24a240",
                            "name": "My withdrawal requests",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"withdrawal_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "withdrawals"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "1588fa9c-9ba1-4cfb-8988-2aa6a609f1f6",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 14,\n                \"amount\": 10000,\n                \"status\": \"approved\",\n                \"created_at\": \"2026-08-21T11:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "7da40ec4-355e-41e2-90e7-095ad6c8d783",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "96720763-9957-4fb8-8566-355c9b02fce0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "ef4bd325-2f94-49b2-9cee-01813169b0e3",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c141bc10-1e36-46ea-a002-c5ca8f344f3a",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals?perPage=15",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Past and pending payout requests.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "995e7f39-f246-4041-95af-14068c95cb6d",
                            "name": "My withdrawal requests (no filters)",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "withdrawals"
                                    ],
                                    "query": [
                                        {
                                            "key": "perPage",
                                            "value": "15",
                                            "description": "Optional. Rows per page, default 15.",
                                            "disabled": true
                                        }
                                    ]
                                },
                                "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                            },
                            "response": [
                                {
                                    "id": "62058a33-d388-406e-b741-3aa51f89f48b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 14,\n                \"amount\": 10000,\n                \"status\": \"approved\",\n                \"created_at\": \"2026-08-21T11:00:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "68104f3a-cd7a-4506-8287-6a6bf8b9c679",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "ef40ede4-020e-48c2-bf49-0a92c3fdddda",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2c6307c3-df54-4140-9065-5b6f1d94bc22",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "91948603-8c90-44e4-b264-3b885ff7dffb",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ],
                                            "query": [
                                                {
                                                    "key": "perPage",
                                                    "value": "15",
                                                    "description": "Optional. Rows per page, default 15.",
                                                    "disabled": true
                                                }
                                            ]
                                        },
                                        "description": "Same call as \"My withdrawal requests\" with every optional filter switched off, so you can see the untouched default response.\n\n**Route:** `GET /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `perPage` | `15` | Optional. Rows per page, default 15. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "32fc51b0-6eeb-4960-ba26-f7d3ad9a2d97",
                            "name": "Request a payout",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"withdrawal_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "withdrawals"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "amount",
                                            "value": "10000",
                                            "type": "text",
                                            "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "bank_name",
                                            "value": "{{bank_name}}",
                                            "type": "text",
                                            "description": "required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "account_holder",
                                            "value": "Nawaf Metals Est.",
                                            "type": "text",
                                            "description": "required|string|min:2|max:100",
                                            "disabled": false
                                        },
                                        {
                                            "key": "account_number",
                                            "value": "608010167519",
                                            "type": "text",
                                            "description": "required|string|min:4|max:34",
                                            "disabled": false
                                        },
                                        {
                                            "key": "iban",
                                            "value": "{{iban}}",
                                            "type": "text",
                                            "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "871643a3-d444-4494-825e-120a3dac7427",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Withdrawal requested successfully\",\n    \"data\": {\n        \"id\": 15,\n        \"amount\": 10000,\n        \"status\": \"pending\",\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "2582e9f3-4739-46eb-b760-da17df37a774",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 15,\n        \"amount\": 10000,\n        \"status\": \"pending\",\n        \"iban\": \"SA03********7519\"\n    }\n}"
                                },
                                {
                                    "id": "f0406b2a-2076-4bf1-8fe7-49b1f75fc1f9",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The amount field is required.\",\n    \"errors\": {\n        \"amount\": [\n            \"The amount field is required.\"\n        ],\n        \"bank_name\": [\n            \"The bank name field is required.\"\n        ],\n        \"account_holder\": [\n            \"The account holder field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "c766f8ba-33f2-477a-83df-90c44eeaca46",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "4aa51a35-1dde-45c9-9a32-63bf51414f83",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "79aaac3f-dadc-40a6-8b9d-b08d34032607",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "amount",
                                                    "value": "10000",
                                                    "type": "text",
                                                    "description": "required|numeric|min:min_withdrawal setting|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "bank_name",
                                                    "value": "{{bank_name}}",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_holder",
                                                    "value": "Nawaf Metals Est.",
                                                    "type": "text",
                                                    "description": "required|string|min:2|max:100",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "account_number",
                                                    "value": "608010167519",
                                                    "type": "text",
                                                    "description": "required|string|min:4|max:34",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "iban",
                                                    "value": "{{iban}}",
                                                    "type": "text",
                                                    "description": "required|string|Saudi IBAN (SA + 22 digits)",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Asks finance to transfer wallet money to the seller bank account. The IBAN must be a valid Saudi one.\n\n**Route:** `POST /api/provider/wallet/withdrawals`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `amount` | required · numeric · min:min_withdrawal setting · max:999999999.99 |\n| `bank_name` | required · string · min:2 · max:100 |\n| `account_holder` | required · string · min:2 · max:100 |\n| `account_number` | required · string · min:4 · max:34 |\n| `iban` | required · string · Saudi IBAN (SA + 22 digits) |\n\n**Saves variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "929f1fe0-a928-4113-a9da-31dc17027820",
                            "name": "Withdrawal details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "wallet",
                                        "withdrawals",
                                        "{{withdrawal_id}}"
                                    ]
                                },
                                "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                            },
                            "response": [
                                {
                                    "id": "f00c2739-dfed-4d2b-b52e-b5264ff4e105",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 15,\n        \"amount\": 10000,\n        \"status\": \"pending\",\n        \"bank_name\": \"Al Rajhi Bank\",\n        \"rejection_reason\": null\n    }\n}"
                                },
                                {
                                    "id": "76ed1993-7a44-465c-99bc-50e82c32696e",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "33f0a5fd-7994-40f4-b3b1-b4bf89cfa382",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "bc003630-7743-40fc-9cde-c91f71e65206",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "4367c1c1-ff98-42ad-a569-d2f3398c46ad",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/wallet/withdrawals/{{withdrawal_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "wallet",
                                                "withdrawals",
                                                "{{withdrawal_id}}"
                                            ]
                                        },
                                        "description": "Status and history of payout {{withdrawal_id}}, including the rejection reason when there is one.\n\n**Route:** `GET /api/provider/wallet/withdrawals/{id}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{withdrawal_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "f400b9d8-c569-4ee9-90f1-72666df7c7ef",
                    "name": "13 - Support Complaints",
                    "description": "General seller complaints. Unlike buyers, sellers can only open and read cases — editing and\r\ndeleting are not exposed.\r\n\r\n**Produces:** `{{complain_id}}`, `{{reason_id}}`. **Depends on:** `{{provider_token}}`.",
                    "item": [
                        {
                            "id": "1fe810ae-01ba-4af1-a39f-c2bb0a35e4e4",
                            "name": "Complaint reasons",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"reason_id\", [\"data.reasons.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "complains",
                                        "reasons"
                                    ]
                                },
                                "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                            },
                            "response": [
                                {
                                    "id": "312c08f7-5f10-47c3-a48c-d79f0670ef7d",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"reasons\": [\n            {\n                \"id\": 5,\n                \"name\": \"Payout delay\"\n            },\n            {\n                \"id\": 6,\n                \"name\": \"Listing rejected without reason\"\n            }\n        ]\n    }\n}"
                                },
                                {
                                    "id": "06369259-e671-467e-8b8a-fc8773b49e94",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d0fafe4f-6ee3-4318-820b-11391039502a",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "e26bfb93-70ee-49b0-acae-39d2b433d709",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c58e362d-3440-4e3f-af20-cb4458e984df",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/reasons",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "reasons"
                                            ]
                                        },
                                        "description": "The reason list shown in the seller complaint form.\n\n**Route:** `GET /api/provider/complains/reasons`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{reason_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0eb6a14d-571f-4e8f-bd4d-dd3ffef2630c",
                            "name": "My complaints",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.data.0.id\",\"data.0.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "complains"
                                    ]
                                },
                                "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "5fb4204a-2635-4eba-9dfa-c0258252f4eb",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 33,\n                \"reason\": \"Payout delay\",\n                \"status\": \"open\",\n                \"created_at\": \"2026-08-26T14:10:00+03:00\"\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "e504d8a4-6896-457b-8ee8-f4ba02846e77",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "d2502f61-2e78-4333-99a5-6033d75bf7fc",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "7c1c5f12-9f2b-4662-b40f-ddcedabf360b",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "b1487217-8986-470d-baf1-79148f7abe81",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "description": "Every case this seller opened, newest first.\n\n**Route:** `GET /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "e3bd2001-c994-49f5-9a5b-3fd8de840926",
                            "name": "Open a complaint",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});",
                                            "",
                                            "// Hand values to the next request in the journey.",
                                            "const read = (path) => path.split(\".\").reduce((carry, part) => (carry === undefined || carry === null ? carry : carry[part]), body);",
                                            "const remember = (name, paths) => {",
                                            "    for (const path of paths) {",
                                            "        const value = read(path);",
                                            "        if (value !== undefined && value !== null && value !== \"\") {",
                                            "            pm.collectionVariables.set(name, String(value));",
                                            "            console.log(\"saved \" + name + \" = \" + value);",
                                            "            return;",
                                            "        }",
                                            "    }",
                                            "};",
                                            "remember(\"complain_id\", [\"data.id\"]);"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "complains"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "reason_id",
                                            "value": "{{reason_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:complaint_reasons,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "custom_reason",
                                            "value": "Payout still pending after five days",
                                            "type": "text",
                                            "description": "nullable|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "description",
                                            "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                            "type": "text",
                                            "description": "nullable|string|max:1000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "nullable|array|max:5",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "e4b422ea-76b9-4ce2-897c-7332031c4164",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Complaint submitted successfully\",\n    \"data\": {\n        \"id\": 34,\n        \"status\": \"open\",\n        \"reason\": \"Payout delay\"\n    }\n}"
                                },
                                {
                                    "id": "5122532c-4d4c-4af5-a691-fd43149c03f4",
                                    "name": "201 Created (ReValue answers HTTP 200)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Saved successfully\",\n    \"data\": {\n        \"id\": 34,\n        \"status\": \"open\",\n        \"reason\": \"Payout delay\"\n    }\n}"
                                },
                                {
                                    "id": "6ece75e3-5aa6-4c6c-b35b-68666cc97def",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The reason id field is required.\",\n    \"errors\": {\n        \"reason_id\": [\n            \"The reason id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "501f95c4-3fab-4e86-9da7-62873a875223",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "c80ddcc9-0c77-4193-b1e5-efd00ad15c20",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "1e38b163-caf4-417d-8263-d87405872215",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "reason_id",
                                                    "value": "{{reason_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:complaint_reasons,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "custom_reason",
                                                    "value": "Payout still pending after five days",
                                                    "type": "text",
                                                    "description": "nullable|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "description",
                                                    "value": "Withdrawal 14 was approved on Friday and the transfer has still not reached the bank.",
                                                    "type": "text",
                                                    "description": "nullable|string|max:1000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "nullable|array|max:5",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "Files a new case with support, with up to five photos.\n\n**Route:** `POST /api/provider/complains`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `reason_id` | required · integer · exists:complaint_reasons,id |\n| `custom_reason` | nullable · string · max:500 |\n| `description` | nullable · string · max:1000 |\n| `images` | nullable · array · max:5 |\n| `images.*` | image · mimes:jpeg,png,jpg,gif,webp · max:5120 |\n\n**Saves variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "19940300-fe71-450f-b92b-a36302eb565f",
                            "name": "Complaint details",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "complains",
                                        "{{complain_id}}"
                                    ]
                                },
                                "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                            },
                            "response": [
                                {
                                    "id": "6fe8e132-6724-426a-a455-e36cc7a0d019",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 34,\n        \"reason\": \"Payout delay\",\n        \"status\": \"open\",\n        \"replies\": []\n    }\n}"
                                },
                                {
                                    "id": "5e6ef68e-5370-4583-9a38-5ab800c42ad2",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "fa8ab0f6-2c3b-437e-9466-952ba8c469f0",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "37c6db45-408c-49da-bb13-7843ea6b69d4",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "a00b7cb7-c6f7-44d8-8ec8-b0821766d80b",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/complains/{{complain_id}}",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "complains",
                                                "{{complain_id}}"
                                            ]
                                        },
                                        "description": "Full case {{complain_id}} with the support replies.\n\n**Route:** `GET /api/provider/complains/{complain}`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Uses variables:** `{{complain_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "7bf7b34b-f859-47de-a652-806a2d54f794",
                    "name": "14 - Examples / Variations",
                    "description": "Seller endpoints filled in for specific situations, ready to run as they are.\r\n\r\n**Depends on:** a signed-in, approved seller (`{{provider_token}}`).",
                    "item": [
                        {
                            "id": "80d56801-6f68-40c2-b480-27509c316740",
                            "name": "Listings — waiting for admin review",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings"
                                    ],
                                    "query": [
                                        {
                                            "key": "tab",
                                            "value": "review",
                                            "description": "Under review.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "perPage",
                                            "value": "50",
                                            "description": "Large page so nothing is missed.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                            },
                            "response": [
                                {
                                    "id": "e5173d0a-a65f-4125-8657-e7236f1f1116",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "review",
                                                    "description": "Under review.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "50",
                                                    "description": "Large page so nothing is missed.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"data\": [\n            {\n                \"id\": 1\n            }\n        ],\n        \"pagination\": {\n            \"total\": 1,\n            \"count\": 1,\n            \"per_page\": 15,\n            \"current_page\": 1,\n            \"total_pages\": 1\n        }\n    }\n}"
                                },
                                {
                                    "id": "e84750d1-6b58-4de4-918c-cdeed821acac",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "review",
                                                    "description": "Under review.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "50",
                                                    "description": "Large page so nothing is missed.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "097fedb7-f6e3-4de1-9742-83e0213f5c0f",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "review",
                                                    "description": "Under review.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "50",
                                                    "description": "Large page so nothing is missed.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "eda3b542-e6f5-429c-b493-5b137b60b22f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "review",
                                                    "description": "Under review.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "50",
                                                    "description": "Large page so nothing is missed.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "0de940a3-ce77-4ebe-91e1-d041048ad56c",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings?tab=review&perPage=50",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings"
                                            ],
                                            "query": [
                                                {
                                                    "key": "tab",
                                                    "value": "review",
                                                    "description": "Under review.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "perPage",
                                                    "value": "50",
                                                    "description": "Large page so nothing is missed.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "What the seller checks after publishing: lots that are still in the review queue.\n\n**Route:** `GET /api/provider/listings`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `tab` | `review` | Under review. |\n| `perPage` | `50` | Large page so nothing is missed. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "f0d1b10b-7745-419d-a0cd-c657642bb582",
                            "name": "Performance — the whole year",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "year",
                                            "description": "Last twelve months.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                            },
                            "response": [
                                {
                                    "id": "a715d255-a85e-4154-b023-61995d5bc09b",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "year",
                                                    "description": "Last twelve months.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "440b67b3-9465-4430-a8f3-992ecc7bb413",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "year",
                                                    "description": "Last twelve months.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "452e98b1-5fea-4bd2-9cbd-ba3f32c7e378",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "year",
                                                    "description": "Last twelve months.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a7b6c6e8-ebf7-4b3f-94fb-afe93fb4e9f8",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "year",
                                                    "description": "Last twelve months.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "95adf9df-6e71-44ae-8199-dd807e68f0d5",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance?period=year",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "year",
                                                    "description": "Last twelve months.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The yearly view used for the annual summary screen.\n\n**Route:** `GET /api/provider/performance`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `year` | Last twelve months. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "48e75cdb-5331-46e1-b8f2-81cd90c248c9",
                            "name": "Performance — export this week as XLS",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "GET",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "performance",
                                        "export"
                                    ],
                                    "query": [
                                        {
                                            "key": "period",
                                            "value": "week",
                                            "description": "This week.",
                                            "disabled": false
                                        },
                                        {
                                            "key": "format",
                                            "value": "xls",
                                            "description": "Spreadsheet instead of PDF.",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                            },
                            "response": [
                                {
                                    "id": "a63029af-037e-413b-9f02-7c4889125424",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "week",
                                                    "description": "This week.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "xls",
                                                    "description": "Spreadsheet instead of PDF.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"file_url\": \"https://revalue.test/storage/reports/performance-week-34.xls\",\n        \"format\": \"xls\"\n    }\n}"
                                },
                                {
                                    "id": "44f27bce-413c-4b27-a476-a4c39587bede",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "week",
                                                    "description": "This week.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "xls",
                                                    "description": "Spreadsheet instead of PDF.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "62cd11a8-906d-4300-bbb0-c9e67018b349",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "week",
                                                    "description": "This week.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "xls",
                                                    "description": "Spreadsheet instead of PDF.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "a3c033ab-b3d5-48e8-bf21-85b49cf188ba",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "week",
                                                    "description": "This week.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "xls",
                                                    "description": "Spreadsheet instead of PDF.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "c836bdd9-933b-49b3-9a6a-88384e1976da",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "GET",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/performance/export?period=week&format=xls",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "performance",
                                                "export"
                                            ],
                                            "query": [
                                                {
                                                    "key": "period",
                                                    "value": "week",
                                                    "description": "This week.",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "format",
                                                    "value": "xls",
                                                    "description": "Spreadsheet instead of PDF.",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The spreadsheet an accountant asks for, rather than the PDF.\n\n**Route:** `GET /api/provider/performance/export`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Query parameters**\n\n| Parameter | Sent value | Notes |\n| --- | --- | --- |\n| `period` | `week` | This week. |\n| `format` | `xls` | Spreadsheet instead of PDF. |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0698ddd2-8c93-42f2-814c-08b5a864e400",
                            "name": "Auction — individual seller, single photo, small lot",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "listings",
                                        "auctions"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "description",
                                            "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                            "type": "text",
                                            "description": "required|string|min:10|max:5000",
                                            "disabled": false
                                        },
                                        {
                                            "key": "category_id",
                                            "value": "{{category_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:categories,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "condition_id",
                                            "value": "{{condition_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:material_conditions,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "unit_id",
                                            "value": "{{unit_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:units,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "city_id",
                                            "value": "{{city_id}}",
                                            "type": "text",
                                            "description": "required|integer|exists:cities,id",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "60",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lat",
                                            "value": "21.485811",
                                            "type": "text",
                                            "description": "required|numeric|between:-90,90",
                                            "disabled": false
                                        },
                                        {
                                            "key": "lng",
                                            "value": "39.192505",
                                            "type": "text",
                                            "description": "required|numeric|between:-180,180",
                                            "disabled": false
                                        },
                                        {
                                            "key": "pickup_address_text",
                                            "value": "Al Balad, Jeddah — home pickup",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "start_price",
                                            "value": "300",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "min_bid_increment",
                                            "value": "10",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "deposit_amount",
                                            "value": "50",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "starts_at",
                                            "value": "{{starts_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        },
                                        {
                                            "key": "ends_at",
                                            "value": "{{ends_at}}",
                                            "type": "text",
                                            "description": "required|date|after:starts_at",
                                            "disabled": false
                                        },
                                        {
                                            "key": "images[0]",
                                            "type": "file",
                                            "src": [],
                                            "description": "required|array|min:1|max:10",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                            },
                            "response": [
                                {
                                    "id": "e831ca2a-8e64-4171-a06a-f585d238012e",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "60",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Balad, Jeddah — home pickup",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "10",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 1044,\n        \"title\": \"Metals · Aluminium\",\n        \"status\": \"pending_review\",\n        \"start_price\": 300\n    }\n}"
                                },
                                {
                                    "id": "e848af8d-6608-453b-807b-40b98ac87022",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "60",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Balad, Jeddah — home pickup",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "10",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The description field is required.\",\n    \"errors\": {\n        \"description\": [\n            \"The description field is required.\"\n        ],\n        \"category_id\": [\n            \"The category id field is required.\"\n        ],\n        \"condition_id\": [\n            \"The condition id field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "aba41b2f-a904-470f-b739-5409d57061ee",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "60",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Balad, Jeddah — home pickup",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "10",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "82575e40-0b40-4f2c-86d6-e6f03b2eca06",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "60",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Balad, Jeddah — home pickup",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "10",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "246e5733-31a4-44ed-8073-0955bf290aff",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/listings/auctions",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "listings",
                                                "auctions"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "description",
                                                    "value": "Around 60 kg of household aluminium collected over the summer, clean and bagged.",
                                                    "type": "text",
                                                    "description": "required|string|min:10|max:5000",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "category_id",
                                                    "value": "{{category_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:categories,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "condition_id",
                                                    "value": "{{condition_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:material_conditions,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "unit_id",
                                                    "value": "{{unit_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:units,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "city_id",
                                                    "value": "{{city_id}}",
                                                    "type": "text",
                                                    "description": "required|integer|exists:cities,id",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "60",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lat",
                                                    "value": "21.485811",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-90,90",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "lng",
                                                    "value": "39.192505",
                                                    "type": "text",
                                                    "description": "required|numeric|between:-180,180",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "pickup_address_text",
                                                    "value": "Al Balad, Jeddah — home pickup",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "start_price",
                                                    "value": "300",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "min_bid_increment",
                                                    "value": "10",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "deposit_amount",
                                                    "value": "50",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "starts_at",
                                                    "value": "{{starts_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "ends_at",
                                                    "value": "{{ends_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:starts_at",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "images[0]",
                                                    "type": "file",
                                                    "src": [],
                                                    "description": "required|array|min:1|max:10",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The lightest possible auction: no sub-category, one photo, a small quantity and a low deposit — what an individual seller publishes from their phone.\n\n**Route:** `POST /api/provider/listings/auctions`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `description` | required · string · min:10 · max:5000 |\n| `category_id` | required · integer · exists:categories,id |\n| `subcategory_id` | nullable · integer · exists:categories,id |\n| `condition_id` | required · integer · exists:material_conditions,id |\n| `unit_id` | required · integer · exists:units,id |\n| `city_id` | required · integer · exists:cities,id |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `lat` | required · numeric · between:-90,90 |\n| `lng` | required · numeric · between:-180,180 |\n| `pickup_address_text` | required · string · max:500 |\n| `start_price` | required · numeric · min:1 · max:999999999.99 |\n| `min_bid_increment` | required · numeric · min:1 · max:999999999.99 |\n| `deposit_amount` | required · numeric · min:1 · max:999999999.99 |\n| `starts_at` | required · date · after:now |\n| `ends_at` | required · date · after:starts_at |\n| `images` | required · array · min:1 · max:10 |\n| `images.*` | required · image · mimes:jpeg,png,jpg,webp · max:10240 |"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "01d244ea-c157-4242-83f5-200c8e6d3c7b",
                            "name": "Price offer — partial quantity at the asking price",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "conversations",
                                        "{{conversation_id}}",
                                        "price-offer"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": [
                                        {
                                            "key": "price",
                                            "value": "1875",
                                            "type": "text",
                                            "description": "required|numeric|min:1|max:999999999.99",
                                            "disabled": false
                                        },
                                        {
                                            "key": "quantity",
                                            "value": "150",
                                            "type": "text",
                                            "description": "required|numeric|min:0.001|max:999999999",
                                            "disabled": false
                                        },
                                        {
                                            "key": "inspection_location",
                                            "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                            "type": "text",
                                            "description": "required|string|max:500",
                                            "disabled": false
                                        },
                                        {
                                            "key": "inspection_at",
                                            "value": "{{inspection_at}}",
                                            "type": "text",
                                            "description": "required|date|after:now",
                                            "disabled": false
                                        }
                                    ]
                                },
                                "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                            },
                            "response": [
                                {
                                    "id": "be3863f5-3fe8-4450-a625-08ec2ba4b160",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "1875",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "150",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Success\",\n    \"data\": {\n        \"id\": 46,\n        \"price\": 1875,\n        \"quantity\": 150,\n        \"status\": \"pending\"\n    }\n}"
                                },
                                {
                                    "id": "1796c821-f609-4766-8c66-0bb03fa0b122",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "1875",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "150",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The price field is required.\",\n    \"errors\": {\n        \"price\": [\n            \"The price field is required.\"\n        ],\n        \"quantity\": [\n            \"The quantity field is required.\"\n        ],\n        \"inspection_location\": [\n            \"The inspection location field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "cdaa447c-1b20-452b-b4de-0433de697efd",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "1875",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "150",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "b755bcee-331d-45e2-9aa9-a1b7dc8cb327",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "1875",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "150",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "e77bd821-e22a-4f87-9deb-5194fa3fdb5a",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/conversations/{{conversation_id}}/price-offer",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "conversations",
                                                "{{conversation_id}}",
                                                "price-offer"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": [
                                                {
                                                    "key": "price",
                                                    "value": "1875",
                                                    "type": "text",
                                                    "description": "required|numeric|min:1|max:999999999.99",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "quantity",
                                                    "value": "150",
                                                    "type": "text",
                                                    "description": "required|numeric|min:0.001|max:999999999",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_location",
                                                    "value": "Al Sulay industrial area, Riyadh — yard 8, gate B",
                                                    "type": "text",
                                                    "description": "required|string|max:500",
                                                    "disabled": false
                                                },
                                                {
                                                    "key": "inspection_at",
                                                    "value": "{{inspection_at}}",
                                                    "type": "text",
                                                    "description": "required|date|after:now",
                                                    "disabled": false
                                                }
                                            ]
                                        },
                                        "description": "The buyer only wants half the lot: the seller sends a price offer for 150 kg at the listed rate instead of the whole 300.\n\n**Route:** `POST /api/provider/conversations/{id}/price-offer`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `price` | required · numeric · min:1 · max:999999999.99 |\n| `quantity` | required · numeric · min:0.001 · max:999999999 |\n| `inspection_location` | required · string · max:500 |\n| `inspection_at` | required · date · after:now |\n\n**Uses variables:** `{{conversation_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "b24e0bea-0724-4d19-97e8-64911cedabe7",
                            "name": "Price change — reject without a note",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "orders",
                                        "{{order_id}}",
                                        "price-change",
                                        "reject"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                            },
                            "response": [
                                {
                                    "id": "13937180-e324-4e4a-a8c1-b0f159d70857",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Price change rejected successfully\",\n    \"data\": {\n        \"id\": 502,\n        \"status\": \"pending_inspection\"\n    }\n}"
                                },
                                {
                                    "id": "13e277d5-f4db-44ba-9dc4-c0a068c03b98",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "5c5955eb-c422-462a-9e43-6c264cf849ad",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "fb6286e2-fe4e-481a-a34a-504504a17354",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "2f22f175-7b76-44bb-8dcb-618c951e2bda",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/orders/{{order_id}}/price-change/reject",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "orders",
                                                "{{order_id}}",
                                                "price-change",
                                                "reject"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "The note is optional; this variant sends an empty body to show the minimum valid call.\n\n**Route:** `POST /api/provider/orders/{id}/price-change/reject`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body fields — sent as `multipart/form-data`**\n\n| Field | Validation |\n| --- | --- |\n| `note` | nullable · string · max:500 |\n\n**Uses variables:** `{{order_id}}`"
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                },
                {
                    "id": "53f0b5e3-bffa-4bb5-b4c5-7f85e21c7c8e",
                    "name": "15 - Sign Out & Cleanup",
                    "description": "Run these last. Signing out revokes `{{provider_token}}`, and deleting the account removes the\r\ntest seller for good.\r\n\r\n**Depends on:** `{{provider_token}}`.",
                    "item": [
                        {
                            "id": "66517d57-4fe9-4643-8c4d-dfad3fc62c60",
                            "name": "Sign out",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "POST",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "logout"
                                    ]
                                },
                                "body": {
                                    "mode": "formdata",
                                    "formdata": []
                                },
                                "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                            },
                            "response": [
                                {
                                    "id": "7881e749-b401-421a-9ba2-0dd6bf88ccf5",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Logged out successfully\",\n    \"data\": {\n        \"id\": 1\n    }\n}"
                                },
                                {
                                    "id": "1e4898bc-44aa-4061-ab80-03f431886408",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "162a9f65-e633-4955-8857-fcd9c89e91fb",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "f5a5d1b9-5f74-4a41-9e14-a35dcca3f73f",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "6c158894-6cb5-47ba-931a-294b062579a9",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "POST",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/logout",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "logout"
                                            ]
                                        },
                                        "body": {
                                            "mode": "formdata",
                                            "formdata": []
                                        },
                                        "description": "Revokes the current Sanctum token and unregisters the device from push notifications.\n\n**Route:** `POST /api/provider/logout`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder).\n\n**Body:** `multipart/form-data`. This endpoint reads no input fields — the signed-in account and the URL carry everything it needs."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        },
                        {
                            "id": "0bade675-71c0-40a2-9d27-a0998fd1324e",
                            "name": "Delete my account",
                            "event": [
                                {
                                    "listen": "prerequest",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "// Behave like a person using the app: wait a moment before tapping the next screen.",
                                            "const pause = Math.floor(Math.random() * 900) + 300; // 300-1200 ms",
                                            "setTimeout(() => {}, pause);"
                                        ]
                                    }
                                },
                                {
                                    "listen": "test",
                                    "script": {
                                        "type": "text/javascript",
                                        "exec": [
                                            "const documentedCodes = [200,403];",
                                            "",
                                            "pm.test(\"Status code is documented for this endpoint\", function () {",
                                            "    pm.expect(documentedCodes).to.include(pm.response.code);",
                                            "});",
                                            "",
                                            "pm.test(\"Server answered within 5 seconds\", function () {",
                                            "    pm.expect(pm.response.responseTime).to.be.below(5000);",
                                            "});",
                                            "",
                                            "// Some ReValue responses start with a UTF-8 BOM, which plain JSON.parse chokes on.",
                                            "let body = {};",
                                            "let parsed = false;",
                                            "try {",
                                            "    body = JSON.parse(pm.response.text().replace(/^\\uFEFF/, \"\"));",
                                            "    parsed = true;",
                                            "} catch (e) {",
                                            "    parsed = false;",
                                            "}",
                                            "",
                                            "pm.test(\"Response body is JSON\", function () {",
                                            "    pm.expect(pm.response.headers.get(\"Content-Type\") || \"\").to.include(\"json\");",
                                            "    pm.expect(parsed, \"body did not parse as JSON\").to.be.true;",
                                            "});",
                                            "",
                                            "pm.test(\"Response uses the { key, msg, data } envelope\", function () {",
                                            "    pm.expect(body).to.have.property(\"key\");",
                                            "    pm.expect(body.key).to.be.a(\"string\").and.not.empty;",
                                            "    pm.expect(body).to.have.property(\"msg\");",
                                            "    pm.expect(body.msg).to.be.a(\"string\");",
                                            "});",
                                            "",
                                            "pm.test(\"Envelope key is one this endpoint can return\", function () {",
                                            "    pm.expect([\"success\",\"fail\",\"unauthenticated\",\"unauthorized\",\"blocked\",\"needActive\",\"needApproval\",\"needs_acceptance\",\"profileNotCompleted\"]).to.include(body.key);",
                                            "});"
                                        ]
                                    }
                                }
                            ],
                            "request": {
                                "method": "DELETE",
                                "header": [
                                    {
                                        "key": "Accept",
                                        "value": "application/json",
                                        "description": "Always ask for JSON back."
                                    },
                                    {
                                        "key": "Accept-Language",
                                        "value": "{{accept_language}}",
                                        "description": "Browser style language preference."
                                    },
                                    {
                                        "key": "Lang",
                                        "value": "{{lang}}",
                                        "description": "ReValue reads this header to translate messages (ar or en)."
                                    },
                                    {
                                        "key": "X-Requested-With",
                                        "value": "XMLHttpRequest",
                                        "description": "Marks the call as an app/AJAX request."
                                    },
                                    {
                                        "key": "User-Agent",
                                        "value": "{{user_agent}}",
                                        "description": "Mobile app user agent."
                                    }
                                ],
                                "url": {
                                    "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                    "host": [
                                        "{{base_url}}"
                                    ],
                                    "path": [
                                        "{{api_prefix}}",
                                        "provider",
                                        "delete-account"
                                    ]
                                },
                                "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                            },
                            "response": [
                                {
                                    "id": "09a5b9e1-4916-45c3-89b2-95dcaa9aa501",
                                    "name": "200 Success",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"success\",\n    \"msg\": \"Account Deleted successfully\",\n    \"data\": 1\n}"
                                },
                                {
                                    "id": "71ba482e-2ee6-4449-b8fa-8da7e3d8f311",
                                    "name": "422 Validation Error (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"The country code field is required.\",\n    \"errors\": {\n        \"country_code\": [\n            \"The country code field is required.\"\n        ]\n    }\n}"
                                },
                                {
                                    "id": "0932982c-5939-49a6-9c89-23d311a35c16",
                                    "name": "401 Unauthenticated (ReValue answers HTTP 200 with key=unauthenticated)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthenticated\",\n    \"msg\": \"Please login again\"\n}"
                                },
                                {
                                    "id": "2660e729-65d3-4ec6-990a-e50174d98f3c",
                                    "name": "404 Not Found (ReValue answers HTTP 200 with key=fail)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "OK",
                                    "code": 200,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"fail\",\n    \"msg\": \"Model Not Found\"\n}"
                                },
                                {
                                    "id": "65a2a24b-9fb8-4a3d-a931-1465bbb69046",
                                    "name": "403 Forbidden (wrong account type for this endpoint)",
                                    "originalRequest": {
                                        "method": "DELETE",
                                        "header": [
                                            {
                                                "key": "Accept",
                                                "value": "application/json",
                                                "description": "Always ask for JSON back."
                                            },
                                            {
                                                "key": "Accept-Language",
                                                "value": "{{accept_language}}",
                                                "description": "Browser style language preference."
                                            },
                                            {
                                                "key": "Lang",
                                                "value": "{{lang}}",
                                                "description": "ReValue reads this header to translate messages (ar or en)."
                                            },
                                            {
                                                "key": "X-Requested-With",
                                                "value": "XMLHttpRequest",
                                                "description": "Marks the call as an app/AJAX request."
                                            },
                                            {
                                                "key": "User-Agent",
                                                "value": "{{user_agent}}",
                                                "description": "Mobile app user agent."
                                            }
                                        ],
                                        "url": {
                                            "raw": "{{base_url}}/{{api_prefix}}/provider/delete-account",
                                            "host": [
                                                "{{base_url}}"
                                            ],
                                            "path": [
                                                "{{api_prefix}}",
                                                "provider",
                                                "delete-account"
                                            ]
                                        },
                                        "description": "Permanently removes the seller account. Live listings and unsettled escrow have to be cleared first.\n\n**Route:** `DELETE /api/provider/delete-account`\n\n**Auth:** `Bearer {{provider_token}}` (inherited from the folder)."
                                    },
                                    "status": "Forbidden",
                                    "code": 403,
                                    "_postman_previewlanguage": "json",
                                    "header": [
                                        {
                                            "key": "Content-Type",
                                            "value": "application/json"
                                        },
                                        {
                                            "key": "Cache-Control",
                                            "value": "no-cache, private"
                                        }
                                    ],
                                    "cookie": [],
                                    "body": "{\n    \"key\": \"unauthorized\",\n    \"msg\": \"You are not authorized\"\n}"
                                }
                            ]
                        }
                    ]
                }
            ],
            "auth": {
                "type": "bearer",
                "bearer": [
                    {
                        "key": "token",
                        "value": "{{provider_token}}",
                        "type": "string"
                    }
                ]
            }
        }
    ]
}